zoukankan      html  css  js  c++  java
  • Python进阶-----property用法(实现了get,set,delete三种方法)

    一、可以利用property对静态属性的进行修改操作,包括设置和删除属性
      1、调用静态属性===>在静态属性函数前先用@property;
      2、设置静态属性===>在静态属性函数前加上@静态属性函数名.setter,同时静态属性函数要加上value参数;
      3、删除静态属性===>在静态属性函数前加上@静态属性函数名.deleter。

     1 #方法一
     2 class Foo:
     3     @property
     4     def A(self):
     5         print('获取(get)属性时执行===')
     6 
     7     @A.setter
     8     def A(self,value):
     9         print('设置(set)属性时执行===')
    10 
    11     @A.deleter
    12     def A(self):
    13         print('删除(del)属性时执行===')
    14 f1 = Foo()
    15 f1.A                    #'获取(get)属性时执行==='
    16 f1.A = '1'              #'设置(set)属性时执行==='
    17 del f1.A                #'删除(del)属性时执行==='

    二、上述操作还可以用如下方式实现
      注意:静态属性 = property(get_静态属性,set_静态属性,del_静态属性),property中的参数位置一定要按照get set del的顺序。

     1 class Foo:
     2     def get_A(self):
     3         print('获取(get)属性时执行===')
     4     def set_A(self,value):
     5         print('设置(set)属性时执行===')
     6     def del_A(self):
     7         print('删除(del)属性时执行===')
     8     A = property(get_A,set_A,de_A)
     9 
    10 f2 = Foo()
    11 f2.A                    #'获取(get)属性时执行==='
    12 f2.A = '2'              #'设置(set)属性时执行==='
    13 del f2.A                #'删除(del)属性时执行==='
  • 相关阅读:
    SGU438_The Glorious Karlutka River =)
    SGU326_Perspective
    Problem B. Harvest of Apples(莫队+数学)
    【HDU2019多校】1005
    【HDU2019多校】K
    L
    「2017 山东一轮集训 Day2」Pair (霍尔定理+线段树)
    【2017西安】Sum of xor sum(线段树)
    【2017西安】 XOR (线性基+思维)
    【SPOJ】Lightning Conductor (dp+决策单调性)
  • 原文地址:https://www.cnblogs.com/Meanwey/p/9902674.html
Copyright © 2011-2022 走看看