Python使用内置函数setattr设置对象的属性值
英文文档:
setattr(object,name,value)
Thisisthecounterpartofgetattr().Theargumentsareanobject,astringandanarbitraryvalue.Thestringmaynameanexistingattributeoranewattribute.Thefunctionassignsthevaluetotheattribute,providedtheobjectallowsit.Forexample,setattr(x,'foobar',123)isequivalenttox.foobar=123
设置对象的属性值
说明:
1.setattr函数和getattr函数是对应的。一个设置对象的属性值,一个获取对象属性值。
2.函数有3个参数,功能是对参数object对象,设置名为name的属性的属性值为value值。
>>>classStudent: def__init__(self,name): self.name=name >>>a=Student('Kim') >>>a.name 'Kim' >>>setattr(a,'name','Bob') >>>a.name 'Bob'
3.name属性可以是object对象的一个已经存在的属性,存在的话就会更新其属性值;如果name属性不存在,则对象将创建name名称的属性值,并存储value值。等效于调用object.name=value。
>>>a.age#不存在age属性 Traceback(mostrecentcalllast): File"",line1,in a.age AttributeError:'Student'objecthasnoattribute'age' >>>setattr(a,'age',10)#执行后创建age属性 >>>a.age#存在age属性了 10 >>>a.age=12#等效于调用object.name >>>a.age 12
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。