在python中定义方法时,为什么要添加self参数?

Why do we add the self parameter when defining a method in Python

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Why do you need explicitly have the “self” argument into a Python method?

为什么我要添加这个自变量

1
    def function(self):


因为在类中定义方法时,它会自动创建一个描述符,该描述符将对象实例作为第一个参数传递。如果要避免这种情况,请使用@staticmethod修饰符,或者只在类外部定义函数。

至于为什么这种语言是这样设计的,在没有显式变量创建的语言中这样做是没有意义的。如果您执行a=2,如何知道它应该是本地变量还是实例变量?而且,一般来说,显式传递只是一种更优雅的设计。


显式优于隐式。