'''普通方法:没有参数,只能类调用绑定方法:(1)绑定到对象(自动传递对象参数) (2)绑定到类(自动传递类参数)静态方法:无论是类还是对象,都能调用的方法'''
class Dog(): def __init__(self,name): self.name = name # 普通方法 def jiao(): print("小狗看见人就旺旺") # 绑定到对象方法 def tian(self): print("小狗喜欢舔") # 绑定到类方法 @classmethod def la(cls): print(cls) print("小狗会吃屎") # 静态方法 @staticmethod def jump(): print("小狗喜欢跳起来接飞盘")obj = Dog("迈克尔·蛋")
# (1) 普通方法
Dog.jiao() # 对象无法调用
# (2) 绑定到对象方法
obj.tian() # Dog.tian(134) # 如果硬要使用类来调用,满足实参形参一一对应.
# (3) 绑定到类方法
Dog.la() # 用对象调用绑定到类的方法是可以的,先找出该对象所归属的类是谁,然后在传递这个类 obj.la()
# (4) 静态方法
obj.jump() Dog.jump() # 无论是类还是对象都可以调用方法