码迷,mamicode.com
首页 > 其他好文 > 详细

property补充

时间:2018-12-26 20:21:27      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:span   sel   修改   turn   obj   style   int   def   补充   

property补充

# class Foo:
#     @property
#     def AAA(self):
#         print(‘get的时候运行我啊‘)
#
#     @AAA.setter
#     def AAA(self,val):
#         print(‘set的时候运行我啊‘,val)
#     @AAA.deleter
#     def AAA(self):
#         print(‘del的时候运行我啊‘)
# #只有在属性AAA定义property后才能定义AAA.setter,AAA.deleter
# f1=Foo()
# f1.AAA
# f1.AAA=‘aaa‘
# del f1.AAA


class Foo:

    def get_AAA(self):
        print(get的时候运行我啊)
    def set_AAA(self,val):
        print(set的时候运行我啊,val)
    def del_AAA(self):
        print(del的时候运行我啊)

    AAA=property(get_AAA,set_AAA,del_AAA)
#只有在属性AAA定义property后才能定义AAA.setter,AAA.deleter
f1=Foo()
f1.AAA
f1.AAA=aaa
del f1.AAA

property应用

class Goods:
    def __init__(self):
        # 原价
        self.original_price = 100
        # 折扣
        self.discount = 0.8

    @property
    def price(self):
        # 实际价格 = 原价 * 折扣
        new_price = self.original_price * self.discount
        return new_price

    @price.setter
    def price(self, value):
        self.original_price = value

    @price.deleter
    def price(self):
        del self.original_price


obj = Goods()
print(obj.price)        # 获取商品价格
obj.price = 200   # 修改商品原价
print(obj.price)
del obj.price     # 删除商品原价
# print(obj.price)

 

property补充

标签:span   sel   修改   turn   obj   style   int   def   补充   

原文地址:https://www.cnblogs.com/jiawen010/p/10180502.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!