python中的property用法,使get方法和set方法简单化

上一篇 / 下一篇  2019-12-10 10:25:57 / 个人分类:python笔记

方法一:

 

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

                  

        num = property(getNum,setNum)    

#重点:定义完getset方法,在下方加一条这样的指令,给__num赋值的时候就可以直接下面这样:

test = a()              #创建一个a的对象

#执行这句的时候,Python会自动调用setNum方法给__num赋值,

test.num = 100         

#同理,这句会自动调用get方法取__num的值

print(test.num)         

 

 

方法二:

 

class a:

         def __init__(self):

                   self.__num = 1              

         #这个地方原本是get方法,要注意:方法上面加一个         

        @property                    

         defnum(self):   #方法名改成你想要的名字,比如num

                   if self.__num ==0 or self.__num == 1:

                            return self.__num

         #这里set方法上方要这样写,numget的方法名         

        @num.setter                 

         defnum(self,num_temp):       #set的方法名和get一样

                   if num_temp ==1 or num_temp == 0:

                            self.__num = num_temp

                  

此时就可以像方法一一样使用了:

test = a()              #创建一个a的对象

#执行这句的时候,Python会自动调用setNum方法给__num赋值

test.num = 100      

#同理,这句会自动调用get方法取__num的值   

print(test.num)         

 


TAG: Python python property get方法 set方法

 

评分:0

我来说两句

日历

« 2024-04-18  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 4529
  • 日志数: 6
  • 建立时间: 2018-11-29
  • 更新时间: 2019-12-12

RSS订阅

Open Toolbar