【Python面向对象】(5) @staticmethod和@classmethod
作者:互联网
1. @staticmethod:静态方法
2. @classmethod:类方法
class Cat(object): tag = "猫科动物" def __init__(self, name): self.name = name # 静态方法,不需要实例化,直接类名.方法就可以调用,当然,实例化后依旧可以调用 @staticmethod def breath(): """ 呼吸 """ print("猫会呼吸") def show_info(self): """ 显示猫的信息 """ print("类的属性:{0},实例的属性:{1}".format(self.tag, self.name)) @classmethod def show_info2(cls, name): """ 显示猫的信息 """ cls.name = name print("类的属性:{0},实例的属性:{1}".format(cls.tag, cls.name)) if __name__ == "__main__": Cat.breath() # 输出:猫会呼吸 cat = Cat("小花") cat.breath() # 输出:猫会呼吸 cat.show_info() # 输出:类的属性:猫科动物,实例的属性:小花 Cat.show_info2("小白") # 输出:类的属性:猫科动物,实例的属性:小白
标签:__,name,show,Python,self,classmethod,实例,staticmethod,属性 来源: https://www.cnblogs.com/ac-chang/p/12705311.html