首页 > 编程知识 正文

getattr类的参数,__setattr__方法

时间:2023-05-05 01:26:22 阅读:160365 作者:653

python内置的两个看起来很简单,很少使用的函数,getattr和setattr函数。 getattr函数用于获取对象属性的值,而setattr函数用于设置对象的属性值。

getattr函数

获取对象的属性值,如果属性不存在且未指定default值,则抛出AttributeError。

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

python还有一个由getattr实现的内置函数hasattr。 thisisimplementedbycallinggetattr (object,name ) andseeingwhetheritraisesanattributeerrribute

setattr函数

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

类个人() :

. def __init__(self,age ) :

. self.age=age

.

p=人员(40 )

p.age

40

setattr(p,' gender ',' male ' ) )。

p.gender

' male '

setattr(p,' age ',100 ) )。

p.age

100

名为person的class最初只有age属性,但setattr函数添加了gender属性。 我们本来就可以任意增加相对于对象不存在的属性值。 但是,使用setattr函数的优点是属性的名称也是动态的。 例如,属性的名称是通过某个变量获取的。

-- EOF --

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。