setattr() 函數對應函數 getattr(),用於設置屬性值,該屬性不一定是存在的。
getattr()用法詳見博文:python中getattr()函數用法詳解_IT之一小佬的博客-CSDN博客
setattr() 函數源碼:
def setattr(x, y, v): # real signature unknown; restored from __doc__
"""
Sets the named attribute on the given object to the specified value.
setattr(x, 'y', v) is equivalent to ``x.y = v''
"""
pass
語法結構:
setattr(object, name, value)
示例代碼1: 【類中屬性值存在的情況】
class Test(object):
test = 1
print(Test.test)
print(Test().test)
obj = Test()
ret = getattr(obj, 'test') # 獲取屬性 test 值
print(ret)
setattr(obj, 'test', 5) # 設置屬性 test 值
print(obj.test)
運行結果:
示例代碼2: 【類中屬性值不存在的情況】
class Test(object):
test = 1
obj = Test()
setattr(obj, 'age', 5) # 設置屬性 age 值
print(obj.age)
運行結果: