property在python中,python中的property函数

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: