在本教程中,我們將借助示例了解 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()用法及代碼示例
- Python dict setdefault()用法及代碼示例
- Python calendar setfirstweekday()用法及代碼示例
- Python set clear()用法及代碼示例
- Python OpenCV setWindowTitle()用法及代碼示例
- Python set()用法及代碼示例
- Python set copy()用法及代碼示例
- Python set add()用法及代碼示例
- Python set symmetric_difference_update()用法及代碼示例
- Python OpenCV setTrackbarPos()用法及代碼示例
- Python seaborn.swarmplot()用法及代碼示例
- Python seaborn.residplot()用法及代碼示例
- Python seaborn.regplot()用法及代碼示例
- Python Pandas series.cummax()用法及代碼示例
- Python seaborn.boxenplot()用法及代碼示例
- Python seaborn.PairGrid()用法及代碼示例
- Python Pandas series.cumprod()用法及代碼示例
- Python seaborn.pairplot()用法及代碼示例
- Python seaborn.factorplot()用法及代碼示例
- Python seaborn.FacetGrid()用法及代碼示例
注:本文由純淨天空篩選整理自 Python setattr()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。