时间:2021-05-22
这篇文章主要介绍了python基于property()函数定义属性,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
正常情况下,类包含的属性应该是隐藏的,只允许通过类提供的方法来间接的实现对类属性的访问和操作。
class Person: #构造函数 def __init__(self, name): self.name = name #设置name属性值的函数 def setname(self, name): self.name = name #访问name属性值的函数 def getname(self): return self.name #删除name属性值的函数 def delname(self): self.name = "xxx"xiaobai = Person("xiaobai")#获取name属性值print(xiaobai.getname())#设置name属性值xiaobai.setname("xiaohei")print(xiaobai.getname())#删除name属性值xiaobai.delname()print(xiaobai.getname())python中提供了property()函数,可以实现在不破坏类封装原则的前提下,让开发者依旧使用“类对象.属性”的方式操作类中的属性。
class Person: #构造函数 def __init__(self, name): self.__name = name #双前导下划线(私有属性)会导致解释器重写属性名称,以避免子类中的命名冲突 #设置name属性值的函数 def setname(self, name): self.__name = name #访问name属性值的函数 def getname(self): return self.__name #删除name属性值的函数 def delname(self): self.__name = "xxx" #为name属性配置property()函数 name = property(getname, setname, delname, '说明文档')#调取说明文档的两种方式print(Person.name.__doc__)help(Person.name)xiaobai = Person("xiaobai")#获取name属性值print(xiaobai.name)#设置name属性值xiaobai.name = "xiaohei"print(xiaobai.name)#删除name属性值del xiaobai.nameprint(xiaobai.name)说明文档Help on property: 说明文档xiaobaixiaoheixxx以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
@property可以将python定义的函数“当做”属性访问,从而提供更加友好访问方式,但是有时候setter/deleter也是需要的。只有@propert
本文主要讲述的是对Python中property属性(特性)的理解,具体如下。定义及作用:在property类中,有三个成员方法和三个装饰器函数。三个成员方法分
说到装饰器,就不得不说python自带的三个装饰器:1、@property将某函数,做为属性使用@property修饰,就是将方法,变成一个属性来使用。clas
关于@property装饰器在Python中我们使用@property装饰器来把对函数的调用伪装成对属性的访问。那么为什么要这样做呢?因为@property让我
本文实例为大家分享了python3中的property使用方法,供大家参考,具体内容如下property属性定义一个可以使实例方法用起来像实例属性一样的特殊关键