在Python中,self代表类的实例,具有以下几个主要作用:
- 访问实例属性
通过self可以访问实例的属性方法。
## python www.itzhimei.com 代码
class Person:
def __init__(self, name):
self.name = name
p = Person('John')
print(p.name)
- 访问实例方法
self可以让实例调用其方法。
## python www.itzhimei.com 代码
class Person:
def print_name(self):
print(self.name)
p = Person('John')
p.print_name()
- 在实例方法中访问实例
类中的方法可以通过self访问该实例。
## python www.itzhimei.com 代码
class Person:
def print_details(self):
print(self.name, self.age)
- 在静态方法中不能访问
@staticmethod声明的静态方法中不能访问self。
## python www.itzhimei.com 代码
class Person:
@staticmethod
def print_hello():
print('hello') # 不能访问self
- 传递实例
将实例作为参数传递时,仍然 conventially 使用self。
## python www.itzhimei.com 代码
def print_name(self):
print(self.name)
综上,self代表类的实例,扮演重要角色,访问实例、调用方法等都需要通过它。