setattr(),python中getattr详解

  setattr(),python中getattr详解

  Python内置了两个看似简单却很少用到的函数,getattr和setattr函数。Getattr函数用于获取对象属性的值,而setattr函数用于设置对象的属性值。

  Getattr函数

  获取对象的属性值,如果该属性不存在且未指定默认值,则引发AttributeError。

  我们发现上面的代码是一个函数,它首先通过dir检查名为10的int对象的所有属性,然后获取bit_length属性得到real属性。现在是十点。得到另一个浮点数为10.12345的真实属性,和另一个不存在的kkkk属性。但是,由于没有kkkk属性,所以将提供默认值abcde,并返回abcde。如果未指定默认值,则获取不存在的kkkk属性值,并引发AttributeError异常。

  Python还有一个内置函数hasattr,由getattr实现。this implemented bycallinggetattr(对象,名称)和seeinghetheritraisesanattributeerrtribute

  Setattr函数

  悲伤风景是指设置对象的属性值。有趣的是,set属性可以是尚不存在的对象的属性。但是,该操作只能在自定义对象上执行,而不能在内置对象上执行。

  类():def __init__(自身,年龄) :年龄=年龄。

  P=人(40)

  体育时代

  40

  setattr(p,性别,男性).

  p .性别

  男性

  setattr(p,年龄,100).

  体育时代

  100

  一个名为person的类最初只有年龄属性,但是setattr函数添加了性别属性。我们可以任意增加相对于对象不存在的属性值。但是,使用setattr函数的优点是属性的名称也是动态的。例如,属性的名称是通过变量获得的。

  - EOF -

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

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