Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
可能重复: 为什么需要在 Python 方法中显式添加“self”参数?
为什么一定要加上这个self参数
def function(self):
因为在类中定义方法时,它会自动创建一个描述符,将对象实例作为第一个参数传递。如果您想避免这种情况,请使用 @staticmethod 装饰器,或者只在类之外定义您的函数。
至于为什么以这种方式设计语言,在没有显式变量创建的情况下以其他方式使用语言是没有意义的。如果你做a=2,你怎么知道它应该是一个局部变量还是一个实例变量?此外,明确地传递它只是一个更优雅的设计。
显式优于隐式。