python中符号的用法,python 文件描述符是什么

  python中符号的用法,python 文件描述符是什么

  在我们对描述符有了初步的了解之后,方法的使用也是学习描述符的必经之路。这篇文章讲的是三种方法__get__()、__set__()和__delete__()。为了与我们在这里学到的函数不同,带下划线的表达式是一个特殊的方法。下面详细解释一下Python描述符中的三种方法。

  1、方法说明

  一般来说,描述符是具有“绑定行为”的对象属性,其属性访问已经被描述符协议中的方法所覆盖。这些方法是__get__()、__set__()和__delete__()。

  其中instance的参数表示实例化的对象,owner表示实例所属的类。

  描述符必须在类属性中定义,而不是在构造函数中定义。

  2、实例

  对象。__get__(自身,实例,所有者)

  对象。__set__(自身,实例,值)

  对象。__delete__(自身,实例)

  上述参数中,self指描述符本身,owner指描述符为属性的对象,instance指owner的实例。这些参数由解释器自动传递,否则不传递。函数体是用户自定义的,这里可以适当使用三个参数(self,instance,owner)。由于这里的描述符是owner的类属性,如果使用self.xxx来存储属性值,那么这个属性也会被存储为类属性,也就是说,你的所有实例都会访问同一个描述符:

  classDescriptor(对象):

  def__init__(self):

  self.d_name=

  def__get__(自身,实例,所有者):

  returnself.d_name

  def__set__(自身,实例,名称):

  self.d_name=name.title()

  def__delete__(自身,实例):

  delself.d_name

  classPerson(object):

  Name=Descriptor()在这里,我们使用描述符的方式是保存一个字符串,并将首字母大写。实际的描述符可以做更多的事情。按如下方式运行:

  a=人()

  亚当

  a .姓名

  亚当的

  b=人()

  b .姓名

  亚当,这就是问题所在。如果你想使用描述符作为实例属性而不是类属性,只需使用实例参数而不是self。

  这是Python描述符中的三种方法。理解了基本用法后,您可以对不同的方法进行练习,以便更好地熟悉这些描述符中的方法。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

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