property静态属性的使用,可以配合setter,deleter对属性进行操作,getter没定义时默认property代替getter,如果定义了就运行getter
class Foo:
def __init__(self):
self.original_price = 100
self.discount = 0.5
@property
def price(self):
return self.original_price * self.discount
# @price.getter
# def price(self):
# return self.original_price * self.discount
@price.setter
def price(self,val):
self.original_price = val
@price.deleter
def price(self):
del self.original_price
f1 = Foo()
print(f1.__dict__)
f1.original_price = 200
print(f1.price)