zoukankan      html  css  js  c++  java
  • 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的值
  • 相关阅读:
    绘制surfaceView 基础类
    globalfifo设备驱动
    Linux设备驱动中的异步通知与异步I/O
    ARM Linux字符设备驱动程序
    s3c2440串口裸板驱动(使用fifo)
    Linux内核结构分析与移植
    带头结点的单链表的初始化,建立,插入,查找,删除
    使用lombok时@Setter @Getter无效
    web 服务中上传文件大小控制
    Flyway 学习时遇到的错误
  • 原文地址:https://www.cnblogs.com/sy_test/p/12054016.html
Copyright © 2011-2022 走看看