四,实例方法
实例方法:实例方法指的是只有实例对象才可以调用的方法
在类对象中定义实例方法时,第一个形参表示调用该方法的实例对象,其对应的实参由系统自动传入。第一个形参的名称通常是self,也可以是其他名称。
实例方法只能被实例对象所调用,有两种调用方法:
- 1.在类对象的内部(其它实例方法中)
语法格式:self.方法名([实参]) - 2.在类对象的外部
语法格式:实例对象.方法名([实参])
类对象的所有实例对象都有一个指向类对象的指针,所以,类对象的所有实例对象都可以调用类对象中定义的实例方法
调用实例方法时,系统自动将调用该实例方法的实例对象作为实参传递给第一个形参。第一个形参会传递给第二个形参,第二个会传给第三个,依次类推。
class MyClass(object):
#在类对象中定义实例方法
def im1(self,p1,p2):
print(p1,p2)
#在类对象中定义实例方法
def im2(self):
#在类对象的内部调用实例方法
self.im1(1,2)
mc = MyClass()
#在类对象的外部调用实例方法
mc,im1(1,2) # 1 2
mc.im2() # 1 2
Python是动态语言,所以,在实例对象或类对象创建之后,可以对其动态地绑定实例方法。
同一个类对象的不同实例对象所绑定的实例方法是相互独立的。也就是说,给一个实例对象绑定的实例方法,对于另一个实例对象是不起作用的。