python面向对象方法的区别
python从设计之初就已经是一门面向对象的语言,正因为如此,在python中创建一个类和对象是很容易的。
方法包括:实例方法、静态方法和类方法,三种方法在内存中都归属于类,区别在于调用方式不同。
实例方法:由对象调用;至少一个self参数;执行普通方法时,自动将调用该方法的对象赋值给self;
类方法:由类调用; 至少一个cls参数;执行类方法时,自动将调用该方法的类复制给cls;
静态方法:由类调用;无默认参数。
立即学习“Python免费学习笔记(深入)”;
实例方法
class Kls(object): def __init__(self, data): self.data = data def printd(self): print(self.data)ik1 = Kls('leo')ik2 = Kls('lee')ik1.printd()ik2.printd()
输出:
leo lee
上述例子中,printd为一个实例方法。实例方法第一个参数为self,当使用ik1.printd()调用实例方法时,实例ik1会传递给self参数,这样self参数就可以引用当前正在调用实例方法的实例。利用实例方法的这个特性,上述代码正确输出了两个实例的成员数据。