上QQ阅读APP看书,第一时间看更新
3.2.2 类方法的第一个参数必须指向实例
在CarClassDemo.py案例中定义的Car类里,__init__和printInfo方法中的第一个参数都是self。这是Python语法的规定,即类方法的第一个参数必须指向它自身。自然,第一个参数可以起任何名字,不过按照惯例会称之为self。
01 def nonSelfFunc(): 02 print('No Self')
比如,在之前的Car类里加入上述的nonSelfFunc方法,其中不带指向实例的参数会提示语法错。在调用时无须传入self,比如在CarClassDemo.py案例中调用printInfo时就没有传入该参数。
之前已经提到,self代表的是实例,而不是类。比如在__init__方法里,通过self.price=price来赋值,表示用参数传入的price来给本实例(Peter的Car)的price赋值,从中大家可以再体到类和实例的差别和联系。