python - Python 中方法之间的区别

标签 python exception

我是 Python 编程新手,现在已经阅读了 Python 书中有关 OOP 的部分。我对 python 类中的方法定义感到困惑。

有什么区别:

def __add__(self):
  pass

def add(self):
  pass

如果您能为我澄清这一点,我将不胜感激;谢谢你们。

最佳答案

以下划线开头和结尾的方法(如 __add__(...))可用于覆盖现有功能,而 add(...) 等不带下划线的方法可用于覆盖现有功能underscores 是一个新的用户定义方法。区别在于:

使用 __add__(self) ,您可以调用 thisObj + otherObj

使用add(self),您可以调用 thisObj.add(otherObj)

因此,__add____sub____call__等会覆盖现有的运算符或功能。

关于python - Python 中方法之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22205563/

相关文章:

python - 使用 Python 访问 Google Sheets Api

Python 类变量和继承

java - Android 相机预览失败(仅限 API<14)

python - 求解线性规划的 Theano 示例

python - python3.x库socketserver是非阻塞的吗?

python - 当以追加模式打开时,文件在 python 中被覆盖

c# - NHibernate.查询异常 : could not resolve property - Column name with ID

perl - 从 IO::File 获取异常?

python - 为什么在 Python 的 TRY block 中不可能有 IF 语句,如果可能的话,这是好的做法吗?

c++ - 将构造函数指定为 noexcept 是否会隐式导致在 C++ 中使用 new 运算符的 nothrow 版本?