特殊参数self的作用:self会接收实例化过程中传入的数据,当实例对象创建后,实例便会代替 self,在代码中运行。
self
代表的是类的实例本身,方便数据的流转。对此,我们需要记住两点:
第一点:只要在类中用def
创建方法时,就必须把第一个参数位置留给 self,并在调用方法时忽略它(不用给self传参)。
第二点:当在类的方法内部想调用类属性或其他方法时,就要采用self.属性名
或self.方法名
的格式。
1 class Chinese: # 创建类
2
3 name = '吴' # 类属性name
4
5 def say(self): # 类方法
6 print(self.name + '是中国人')
7
8 person = Chinese() # 创建Chinese的实例person
9 person.say() # 调用实例方法
代码运行时,实例person
会像参数一样传给self,替换掉self,第六行的self.name
等价于person.name
。
person.name
就相当于调用了类属性name(即'吴'),然后跑完整个方法。