我很难理解自己。此外,在班级' anotherClass'中,有两个自我。这两个自我指示什么?
class myClass():
def method1(self):
print("myClass method1")
class anotherClass(myClass):
def method1(self):
myClass.method1(self)
print("anotherClass method1")
def main():
c = anotherClass()
c.method1()
if __name__ == "__main__":
main()
答案 0 :(得分:2)
self
是调用该方法的实例。
所以,如果你写
c.method1()
然后c
作为第一个参数传递给method1
。
然后你做
myClass.method1(self)
您根本不是在实例上调用方法,而是在类上调用函数。 Self未自动设置,但您“手动”传递,因此仍然引用c
。