python类属性怎么定义,python定义类的属性

  python类属性怎么定义,python定义类的属性

  相关免费学习推荐:python视频教程

  __getattr__是getattr的神奇函数,当一个类调用一个不存在的属性时,就会调用这个函数。他传入的值项是你调用的不存在的值。

  类别用户(对象):

  def __init__(自身,姓名,信息):

  self.name=name

  self.info=info

  Ls=User(李四,{ gender : male })print(ls . info)运行结果:{gender 3360 male}如果要获取男性属性,需要使用__getattr__ magic方法。

  类别用户(对象):

  def __init__(自身,姓名,信息):

  self.name=name

  self . info=info def _ _ getattr _ _(self,item):

  Return.info [item] ls=user(李四,{ 性别 : 男性 }) print (ls.gender)运行结果:

  男性属性描述符是一个强大的通用协议。它是属性、方法、静态方法、类方法。

  而且超级()。属性描述符是一个实现特定协议的类。只要实现了__get__ 、__set__和__delete__这三个方法中的任何一个,这个类就是一个描述符。它可以实现一种将相同的访问逻辑应用于多个属性的方法。通俗来说就是:创建一个实例作为另一个类的类属性。如果一个对象同时定义了__get__和__set__方法,它就被称为数据描述符。

  只定义__get__方法的对象称为非数据描述符。使用class方法创建描述符来定义IntField类。为描述符类创建一个IntField类的实例,作为另一个用户类classuser3360的属性。

  def __init__(自身,年龄):

  self . age=age def get _ age(self):

  Return (str(self.age)“岁”)

  def set_age(自身,年龄):

  如果不是isinstance(age,int):

  引发TypeError(“类型错误”)

  年龄=年龄

  Tt=用户(55) TT。set _ age (60) print (TT。get _ age())运行结果:当60岁描述符的搜索顺序为数据描述符时,get__优先级高于__dict

  当它是非数据描述符时,dict__优先级高于__get可以学到更多的编程知识。请访问:编程教学!以上是Python类属性的详细描述。更多信息请关注热门IT软件开发工作室其他相关文章!

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

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