为什么Python在每个参数列表中都需要显式的self
参数?
例如,文档中给出的Complex类就是一个例子。
class Complex:
def __init__(self, realpart, imagpart):
self.r = realpart
self.i = imagpart
def conjugate(self):
self.i = -self.i
x = Complex(3.0, -4.5) # 2 instead of 3?
x.conjugate() # No parameters?
起初我觉得很困惑,为什么__init__( )
看起来需要3个参数,但是你却只使用2个参数调用了Complex( )
。
为什么self
参数是显式的而不是隐式的?
foo.meth(arg) == C.meth(foo, arg)
这个在哪里需要用到? - Darek NędzaC.newMethod = some_function_with_self
。 - phant0m