當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python setattr()用法及代碼示例


在本教程中,我們將借助示例了解 Python setattr() 函數。

setattr() 函數設置對象的屬性值。

示例

class Student:
  marks = 88
  name = 'Sheeran'

person = Student()

# set value of name to Adam
setattr(person, 'name', 'Adam')
print(person.name)

# set value of marks to 78
setattr(person, 'marks', 78)
print(person.marks)

# Output: Adam
#         78

setattr() 語法

用法:

setattr(object, name, value)

如果要獲取對象的屬性,請使用 getattr()

參數:

setattr() 函數采用三個參數:

  • object- 必須設置其屬性的對象
  • name- 屬性名稱
  • value- 賦予屬性的值

返回:

setattr() 方法返回 None

示例 1:setattr() 如何在 Python 中工作?

class Person:
    name = 'Adam'
    
p = Person()
print('Before modification:', p.name)

# setting name to 'John'
setattr(p, 'name', 'John')

print('After modification:', p.name)

輸出

Before modification: Adam
After modification: John

示例 2:當在 setattr() 中找不到該屬性時

如果未找到該屬性,setattr() 創建一個新屬性並為其賦值。但是,這隻有在對象實現__dict__() 方法時才有可能。

您可以使用dir() 函數檢查對象的所有屬性。

class Person:
    name = 'Adam'
    
p = Person()

# setting attribute name to John
setattr(p, 'name', 'John')
print('Name is:', p.name)

# setting an attribute not present in Person
setattr(p, 'age', 23)
print('Age is:', p.age)

輸出

Name is: John
Age is: 23

相關用法


注:本文由純淨天空篩選整理自 Python setattr()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。