Python中setattr函數(shù)的作用是什么

小樊
84
2024-09-12 18:14:52
欄目: 編程語言

setattr() 是 Python 的內(nèi)置函數(shù),它用于設(shè)置對(duì)象的屬性值。這個(gè)函數(shù)接收三個(gè)參數(shù):對(duì)象、屬性名和要設(shè)置的值。setattr() 函數(shù)的主要作用是動(dòng)態(tài)地給對(duì)象添加或修改屬性。

以下是 setattr() 函數(shù)的基本語法:

setattr(object, attribute_name, value)

其中:

  • object:要設(shè)置屬性的對(duì)象。
  • attribute_name:要設(shè)置的屬性名,通常為字符串。
  • value:要設(shè)置的屬性值。

例如,假設(shè)我們有一個(gè)簡(jiǎn)單的類 Person,并想要?jiǎng)討B(tài)地給實(shí)例添加一個(gè) age 屬性:

class Person:
    def __init__(self, name):
        self.name = name

# 創(chuàng)建一個(gè) Person 實(shí)例
person1 = Person("Alice")

# 使用 setattr() 函數(shù)給 person1 添加 age 屬性并設(shè)置值為 30
setattr(person1, "age", 30)

# 輸出 person1 的 age 屬性
print(person1.age)  # 輸出:30

在這個(gè)例子中,我們首先創(chuàng)建了一個(gè) Person 類的實(shí)例 person1。然后,我們使用 setattr() 函數(shù)給 person1 添加了一個(gè)名為 age 的屬性,并將其值設(shè)置為 30。最后,我們打印出 person1age 屬性,輸出結(jié)果為 30。

0