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的值
每天进步一点点~