69-python-类方法( classmethod )

# classmethod   类方法
# 当这个方法的操作只涉及到静态属性的时候,就应该使用classmethod来装饰这个方法
# 类方法有一个默认参数 cls

class Foods:
    __somes = 0.5
    def __init__(self,name,price):
        self.name = name
        self.__price = price
    @property
    def price(self):
        return self.__price * Foods.__somes
    @classmethod
    def alls(cls,new_price):        # 类方法
        cls.__somes = new_price

f = Foods('app',5)
print(f.price)      # 打印结果:2.5
Foods.alls(0.8)     # 修改静态属性
print(f.price)      # 打印结果:4.0

  

posted @ 2018-11-06 20:00  _Q  阅读(153)  评论(0)    收藏  举报