• property用法,使Python中的get方法和set方法使用更简单


    方法一

    class a:
    
        def __init__(self):
    
            self.__num = 1              #有一私有变量(以双下划线开头的是私有变量)
    
    
        def getNum(self):               #定义get方法
    
            return self.__num
    
    
        def setNum(self,num_temp):      #定义set方法
    
            if  num_temp ==1 or num_temp == 0:
    
                self.__num = num_temp
    
    #重点:定义完get和set方法,在下方加一条这样的指令,给__num赋值的时候就可以直接下面这样:
    num = property(getNum,setNum)
    # 使用get和set方法
    test = a()              #创建一个a的对象
    
    test.num = 100         #执行这句的时候,Python会自动调用setNum方法给__num赋值,
    
    print(test.num)         #同理,这句会自动调用get方法取__num的值
    
     

    方法二

    class a:
    
        def __init__(self):
    
            self.__num = 1              #定义一个私有变量(以双下划线开头的是私有变量)
    
    
        @property                    #这个地方原本是get方法,要注意:方法上面加一个
    
        def num(self):                  @property,方法名改成你想要的名字,比如num
    
            if self.__num ==0 or self.__num == 1:
    
            return self.__num
    
        @num.setter                 #这里set方法上方要这样写,num是get的方法名
    
        def num(self,num_temp):       # set的方法名和get一样
    
            if num_temp ==1 or num_temp == 0:
    
            self.__num = num_temp
    
    
    # 此时就可以像方法一一样使用了:
    
    test = a()              #创建一个a的对象
    
    test.num = 100         #执行这句的时候,Python会自动调用setNum方法给__num赋值,
    
    print(test.num)         #同理,这句会自动调用get方法取__num的值
  • 相关阅读:
    基于Spring的集群会话共享方案-spring session
    Tensorflow 模型线上部署
    Dijkstra算法
    BFS和DFS
    图的基本概念
    排序5
    排序4
    排序3
    排序2
    排序1
  • 原文地址:https://www.cnblogs.com/sy_test/p/12054016.html
Copyright © 2020-2023  润新知