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