在 Python 中,self 代表类的实例本身,它有以下作用:
- 访问实例属性
通过 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属性
- 调用实例方法
调用实例方法需要将实例本身作为第一个参数传递,传递的就是 self。
## python www.itzhimei.com 代码
class Person:
def print_info(self):
print(self.name, self.age)
p = Person()
p.print_info() # 会自动传递实例p作为self
- 在实例方法中更改属性
通过 self.属性 = 值 可以更改实例属性。
## python www.itzhimei.com 代码
class Person:
def increment_age(self):
self.age += 1 # 修改age属性
- 访问类属性
可以通过 self.类属性 来访问类属性,如 self.attr。 - 初始化实例
通过 init 方法中使用 self 参数来初始化每个实例。
所以 self 代表了当前实例本身,是实例的内置引用。