property的作用

Posted yandh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了property的作用相关的知识,希望对你有一定的参考价值。

‘‘‘
property:将一个方法当作属性使用
‘‘‘

class persion:
def __init__(self,name,age):
self.name = name
self.__age = age #:age是一个私有属性

def tell(self):
print("我叫%s,我今年%s岁了"%(self.name,self.__age))

p = persion("杨洋",21)
p.name = "小明"
print(p.name) #:可以查看和修改

p.__age = 22 #:修改也不可以
# print(p.__age) #:外部想去查看私有属性是查看不了的



# :如果我想修改/查看私有属性的话必须使用共有方法来进行
class persion:
def __init__(self,name,age):
self.name = name
self.__age = age #:age是一个私有属性

def tell(self):
print("我叫%s,我今年%s岁了"%(self.name,self.__age))

def getage(self):
print(self.__age)

def setage(self,age):
self.__age = age

p = persion("杨洋",21)
p.setage(22) #:通过共有方法可以修改私有属性
p.getage() #:通过共有方法可以实现查看私有属性


#:但这样做太麻烦了,我必须每次都要查看调用方法才可以修改私有属性
#:这样可以使用property
class persion:
def __init__(self,name,age):
self.name = name
self.__age = age #:age是一个私有属性

def tell(self):
print("我叫%s,我今年%s岁了"%(self.name,self.__age))

@property
def age(self):
return self.__age

@age.setter #:写法固定 去掉双下划线的私有属性 后面加.setter
def age(self,age):
self.__age = age

p = persion("杨洋",21)
p.age = 22 #:直接调用方法age 来修改私有属性age
print(p.age) #:这样的话就可以使用属性的方式来调用方法

以上是关于property的作用的主要内容,如果未能解决你的问题,请参考以下文章

Spring JUnit .properties 文件不起作用

property的作用

<BR> 标签在 .properties 文件中不起作用

Spring:message.properties 文件不起作用

SpringBoot:配置文件的作用配置文件的格式properties配置文件yml配置文件

Python @property 装饰器不起作用