zoukankan      html  css  js  c++  java
  • 二十.面向对象 property使用

    一.  property使用  一个静态属性property本质就是实现了get,set,delete三种方法

    class Foo:
        @property
        def AAA(self):
            print('get的时候运行我啊')
    
        @AAA.setter
        def AAA(self,value):
            print(value,"*******************************************")
            print('set的时候运行我啊')
    
        @AAA.deleter
        def AAA(self):
            print('delete的时候运行我啊')
    
    #只有在属性AAA定义property后才能定义AAA.setter,AAA.deleter
    f1=Foo()
    f1.AAA
    f1.AAA='aaa'
    del f1.AAA
    
    #
    # get的时候运行我啊
    # set的时候运行我啊
    # delete的时候运行我啊
    AAA=property(get_AAA,set_AAA,delete_AAA) #内置property三个参数与get,set,delete一一对应
    
    
    class Foo:
        def get_AAA(self):
            print('get的时候运行我啊')
    
        def set_AAA(self,value):
            print('set的时候运行我啊')
    
        def delete_AAA(self):
            print('delete的时候运行我啊')
    AAA
    =property(get_AAA,set_AAA,delete_AAA) #内置property三个参数与get,set,delete一一对应 f1=Foo() f1.AAA f1.AAA='aaa' del f1.AAA # get的时候运行我啊 # set的时候运行我啊 # delete的时候运行我啊
    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()
    obj.price         # 获取商品价格
    obj.price = 200   # 修改商品原价
    print(obj.price)
    del obj.price     # 删除商品原价
    
    案例一
  • 相关阅读:
    decode(解码)与encode(编码)——python
    Appium环境准备(二)
    cannot bind to 127.0.0.1:5037解决方法
    使用adb命令获取包名
    cookie的弊端
    jquery点击弹出一个页面+点击X可关闭的部分
    实现AJAX的异步交互的步骤
    HTML5,jQuery,ajax基础面试
    js 基础面试题
    JavaScript,DOM经典基础面试题
  • 原文地址:https://www.cnblogs.com/Sup-to/p/11090349.html
Copyright © 2011-2022 走看看