为什么 Pythonself
在每个参数列表中都需要一个显式参数?
例如在文档中给出的类 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 个参数,但你Complex( )
只用 2 个参数调用。
self
参数是显式而不是隐式的原因是什么?