Python self

时间:2024-11-06 15:37:56

在Python中,self 不是类本身,而是类的实例对象本身。当你定义一个实例方法时,Python 会自动将调用该方法的实例对象作为第一个参数传递给这个方法,按照惯例,这个参数被命名为 self

这里有一个简单的例子来说明 self 的用途:

 

python复制代码

class MyClass:  
    def __init__(self, value):  
        self.value = value  # 这里 self.value 指的是实例对象的 value 属性  
  
    def display_value(self):  
        print(self.value)  # 这里 self 指的是调用 display_value 方法的实例对象  
  
# 创建 MyClass 的一个实例  
my_instance = MyClass(10)  
  
# 调用实例方法  
my_instance.display_value()  # 输出: 10

 

在这个例子中:

  • MyClass 是一个类。
  • __init__ 是一个特殊的方法(构造函数),用于初始化新创建的实例对象。
  • self.value 在 __init__ 方法中设置,它指的是调用该方法的实例对象的 value 属性。
  • display_value 是一个实例方法,它使用 self 参数来访问调用该方法的实例对象的 value 属性。

当你调用 my_instance.display_value() 时,Python 会自动将 my_instance 作为 self 参数传递给 display_value 方法。因此,在 display_value 方法内部,self 指的是 my_instance

总结一下,self 是指向实例对象本身的引用,而不是类本身。类本身在Python中通常通过类名来引用,而在类方法中使用 cls 作为指向类本身的引用(通过 @classmethod 装饰器定义)。