本帖最后由 杨东明 于 2021-7-13 17:06 编辑 class Goods(object):
def __init__(self):
self.price = 100 # 原价
self.discount = 0.8 # 折扣
def get_price(self):
# 实际价格 = 原价 * 折扣
new_price = self.price * self.discount
return new_price
def set_price(self, value):
self.price = value
def del_price(self):
del self.price
# 获取 设置 删除 描述文档
PRICE = property(get_price, set_price, del_price, '价格属性描述...')
# 使用此方式设置
obj = Goods()
print (obj.PRICE) # 获取商品价格
obj.PRICE = 200 # 修改商品原价
print (obj.PRICE)
del obj.PRICE # 删除商品原价
运行结果:80 160
像这个代码,获取属性那儿返回的是new_price,实例属性名字是price,下面更改属性名字又说PRICE,然后就是这个打印结果,第一个print 打印PRICE打印的是new_price,但是接下来的obj.PRICE赋值改的却是之前实例属性price的值,也就是一个PRICE涉及两个函数属性的值,脑壳都晕了 |