''' 静态方法,和类方法实例 ''' import math class Pizza(): radius = 5 height = 10 def __init__(self,radius,height): self.radius = radius self.height = height print("创建实例") # 静态方法:把他当成普通的函数来看待,也需要传参数, # Pizza这个类里面的实例变量跟它没有关系 @staticmethod def mianji(radius): return math.pi*pow(radius,2) # 类方法:cls是这个类的名称,也就是说,当我调用这上面的面积的时候 # 只需要用这个名字加上cls.mianji(),也就是相当于继承了mianji()这个函数, # 这里调用也需要传入参数,这里的传参也跟类没有一毛钱关系 @classmethod def tiji(cls): return cls.mianji(cls.radius)*cls.height #cls.radius继承于类中的变量 @classmethod def tiji2(cls,radius,height): return cls.mianji(radius) * height # 总结:类方法可以继承静态方法,但静态方法不能继承任何方法的方法 Pai = Pizza(50,2) print(Pai.mianji(5)) print(Pai.tiji())
静态方法,和类方法实例
以上内容作为课堂笔记,如有雷同,请联系于我