2023-12-27 00:04:10
self 是 Python 类方法中指向实例对象本身的引用,用于关联对象实例与方法,在方法定义中必须显式声明。 以下是详细解析:
1. self 的作用创建实例 my_object = MyClass(10) 后,调用 my_object.get_value() 时,Python 实际执行的是 MyClass.get_value(my_object),此时 self 即为 my_object。
若无 self,方法内无法区分实例属性和参数。
静态方法(@staticmethod)无需 self,因为它不操作实例。
类方法(@classmethod)使用 cls 作为第一个参数,指向类本身。
class MyClass: @staticmethod def static_method(): pass @classmethod def class_method(cls): passobj = MyClass(10) 调用 __init__(self, value),self 为 obj。
obj.get_value() 实际执行 MyClass.get_value(obj),返回 obj.value。