考虑这个例子:
class MyClass:def func(self, name):self.name = name
我知道self
指的是MyClass
的特定实例。但是为什么func
必须显式包含self
作为参数?为什么我们需要在方法代码中使用self
?其他一些语言使这一点隐式化,或使用特殊的语法代替。
有关与语言无关的设计决策的考虑,请参阅强制显式设置this/self指针的优点是什么?
要关闭调试问题,其中OP省略了方法的self
参数并获得了TypeError
,请使用TypeError:方法()需要1个位置参数,但给出了2个