setattr 是一個在Python程式語言中常用的內建函數,它用於設定或修改對象的屬性(attributes)。以下是有關 setattr 函數的一些概念:
設定屬性值: setattr 主要用於在運行時設定對象的屬性值。這些屬性可以是對象的數據成員,也可以是對象的方法。通過 setattr,你可以動態地為對象添加屬性或者修改現有屬性的值。
語法: setattr 函數的語法如下:
python
Copy code
setattr(object, attribute, value)
object:表示要設定屬性的對象。
attribute:表示要設定的屬性的名稱,通常是一個字符串。
value:表示要設定的屬性的新值。
運行時靈活性: 一個主要的用途是在運行時根據特定條件設定屬性。這允許你根據程序的狀態或用戶的輸入來動態地修改對象的行為或數據。
常見應用場景: setattr 常見的應用包括動態生成對象、擴展現有對象的功能、設定配置選項等。它在動態編程、反射、元編程等方面非常有用。
下面是一個示例,演示如何使用 setattr 函數設定對象的屬性:
python
Copy code
class Person:
def init(self, name, age):
self.name = name
self.age = age
person = Person("Alice", 30)
setattr(person, "city", "New York")
print(person.name) # 輸出: Alice
print(person.age) # 輸出: 30
print(person.city) # 輸出: New York
在這個示例中,我們創建了一個名為 Person 的類,然後使用 setattr 函數動態地添加了一個名為 city 的屬性。這允許我們在不修改類定義的情況下向對象添加新的屬性。