我是 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/