setattr()
是 Python 的內置函數,它可以用于為對象動態地添加屬性。這個函數需要三個參數:對象、屬性名和屬性值。
下面是一個簡單的例子,展示了如何使用 setattr()
函數為一個自定義對象動態添加屬性:
class MyClass:
pass
# 創建一個 MyClass 的實例
obj = MyClass()
# 使用 setattr() 函數為 obj 對象添加一個名為 'my_attribute' 的屬性,其值為 42
setattr(obj, 'my_attribute', 42)
# 打印 obj 對象的 my_attribute 屬性
print(obj.my_attribute) # 輸出:42
在這個例子中,我們首先定義了一個名為 MyClass
的空類。然后,我們創建了一個 MyClass
的實例 obj
。接下來,我們使用 setattr()
函數為 obj
對象添加了一個名為 my_attribute
的屬性,并將其值設置為 42。最后,我們打印了 obj.my_attribute
的值,輸出結果為 42。
需要注意的是,setattr()
函數不僅可以用于為自定義對象添加屬性,還可以用于為其他類型的對象(如列表、元組等)添加屬性。但是,對于某些內置類型的對象(如列表、元組等),添加屬性可能會導致不可預期的行為或錯誤。因此,建議在使用 setattr()
函數時謹慎操作。