property在python中,python中的property函数
最近边肖一直在看关于python从基础到常用的方法和函数,然后偶然发现了属性的用法,就自己整理了一下,有需要的朋友可以过来看看~
property语法
Property (fget=none,fset=none,fdel=none,doc=none) FGet是获取属性值的函数,fset是设置属性值的函数,fdel是删除属性的函数,doc是字符串(类似于注释)
班级学生:
def__init__(自己,分数):
自我。_ score=分数
defget_score(self):
回归自我。_分数
defset_score(self,value):
自我。_ score=值
分数=属性(获取分数,设置分数)也可以使用另外一种方法:通过装饰器的形式
@property decorator负责将一个方法转换成一个属性调用,通常用在属性的get方法和set方法中。通过设置@property,可以实现对实例成员变量的直接访问,同时保持参数检查。另外,成员变量的只读属性可以通过设置get方法来实现,不需要定义set方法。
要将getter方法转换为属性,只需添加@property。此时,@property本身创建了另一个decorator @score.setter,它将一个setter方法变成了一个属性赋值。所以,我们有一个可控的属性操作,
在实践中,使用装饰器更方便、更简洁,所以推荐使用这种方法。
班级学生(对象):
def__init__(自己,分数):
自我。_ score=分数
@属性
defscore(self):
回归自我。_分数
@score.setter
定义分数(自我,值):
自我。_score=value您可以通过调用属性直接调用该方法。
s=学生()
S.score#获取分数属性值
S.score=88#将属性score的值设置为88为什么property具有如此的魔力?.
属性是一个描述符,由@property修饰的成员函数将成为一个描述符。
classFoo:
@属性
defget_x(self):
打印(获取值)
返回“x值”
defget_y(self):
及格
foo=Foo()
类型(Foo.get_x)
键入(foo . get _ y)为什么使用property,我们通过函数也可以啊?这有什么用呢?
最常见的是,在web开发中,设置用户模型和加密用户设置的密码时,会用到property。
希望你能熟练掌握属性,对代码编程有帮助~如需了解更多python知识,点击进入PyThon学习网教学中心。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。