【Python】Python中 self 的作用是什么?

在 Python 中,self 代表类的实例本身,它有以下作用:

  1. 访问实例属性
    通过 self 可以访问实例的属性,相当于 Java 中的 this。
## python www.itzhimei.com 代码
class Person:

  def __init__(self, name, age):
    self.name = name
    self.age = age

  def print_name(self):
    print(self.name)

p = Person('Bob', 20)
p.print_name() # 通过self访问name属性
  1. 调用实例方法
    调用实例方法需要将实例本身作为第一个参数传递,传递的就是 self。
## python www.itzhimei.com 代码
class Person:

  def print_info(self):
    print(self.name, self.age)

p = Person() 
p.print_info() # 会自动传递实例p作为self
  1. 在实例方法中更改属性
    通过 self.属性 = 值 可以更改实例属性。
## python www.itzhimei.com 代码
class Person:

  def increment_age(self): 
    self.age += 1 # 修改age属性
  1. 访问类属性
    可以通过 self.类属性 来访问类属性,如 self.attr。
  2. 初始化实例
    通过 init 方法中使用 self 参数来初始化每个实例。

所以 self 代表了当前实例本身,是实例的内置引用。