在类对象中定义实例方法时,第一个形参表示调用该方法的实例对象,其对应的实参由系统自动传入。
第一个形参的名称通常是 self ,self不是关键字,而是Python约定成俗的命名,你完全可以取别的名字,但建议这么做。
在类对象的内部
语法:self.方法名([实参])
在类对象外部
语法:实例对象.方法名([实参])
调用实例方法时,系统自动将调用该实例方法的实例对象作为实参传递给第一个形参。
第一个实参传递给第二个形参,第二个实参将会传给第三个形参,以此类推。
实例方法最大的特点就是最少要包含一个 self 参数,该self参数的作用是绑定调用此方法的实例对象。
class MyClass(object): # 定义实例方法 def get_info(self, par1, par2): print(par1, par2) def get_other(self): # 在类对象内部调用实例方法:get_info self.get_info(1, 2) # 实例化 res = MyClass() res.get_info(3, 4) res.get_other()
实例方法的第一个参数通常为self,它用来引用和调用实例。
在类中定义方法和定义普通的函数没有太大区别:
class People(object): owner = "ren" # 类属性 def __init__(self, name, sex, age=18): self.name = name # 实例属性 self.age = age # 实例属性 self.sex = sex def voice(self): # 实例方法 print("我的名字是{},我{}岁了!".format(self.name, self.age)) p = People("张三", "女") p.voice() # 我的名字是张三,我18岁了!