Python中定义的方法时,我们为什么要添加自参数
问题描述:
可能重复:
Why do you need explicitly have the “self” argument into a Python method?Python中定义的方法时,我们为什么要添加自参数
为什么我要补充这种自我参数
def function(self):
答
因为当你在类中定义一个方法时,它会自动创建一个描述符来传递对象实例作为第一个参数。如果你想避免这种情况,可以使用@staticmethod装饰器,或者只在类之外定义你的函数。至于为什么用这种方式来设计语言,那么在没有显式变量创建的语言中使用它是没有意义的。如果你做a = 2,你怎么知道它应该是一个本地变量还是一个实例变量?而且,明确传递它通常只是一个更优雅的设计。
http://stackoverflow.com/questions/68282/why-do-you-need-explicitly-have-the-self-argument-into-a-python-method - 可能的重复。 -1 – verisimilitude 2012-08-11 14:26:57