如果有一个内置函数,func(),它关联的特定方法是func(),Python 解释器解释为类似于 obj.func() 的函数调用,obj 就是实例对象。如果是运算符操作,比如 opr ,关联的特定方法是opr(),Python 将 obj1 <opr> obj2 解释为类似于 obj1.opr(obj2) 的形式。 所以,当你在实例对象上调用 len() 时,Python 将它处...
如果有内置函数func(),且这个函数的相应特殊方法是__func__(),Python 对函数的调用是obj.__func__(),其中obj即对象。在运算符的情况下, 如果有一个运算符 opr 和相应的特殊方法__opr__(), Python 会将类似于obj1 obj2的解释为obj1.__opr__(obj2)。 因此,当你对对象调用 len() 时,Python 会将调...
注:当你的类定义中缺失__iadd__()等函数,但你仍对对象使用它们的运算符,Python 使用__add__()等函数使用其运算符来获取操作的结果并将其分配给调用实例。一般而言,只要在你的类中__add__()等函数正常工作 (返回某种操作的结果),不实现__iadd__()等函数就是安全的。 Python文档对这些方法有很好的解释。
Pycharm是很多Python开发者的首选IDE,如果能把一个工具熟练运用,往往有事半功倍的效果,各种快捷键、...
类似于__iadd__,你对定义-=,*=,/=有__isub__,imul,__idiv__等其他特殊的方法。 注:当你的类定义中缺失__iadd__等函数,但你仍对对象使用它们的运算符,Python 使用__add__等函数使用其运算符来获取操作的结果并将其分配给调用实例。一般而言,只要在你的类中__add__等函数正常工作 (返回某种操作的...