📅  最后修改于: 2020-09-20 04:31:50             🧑  作者: Mango
setattr()
函数的语法为:
setattr(object, name, value)
如果要获取对象的属性,请使用getattr()。
setattr()
函数采用三个参数:
setattr()
方法不返回任何内容。返回None
。
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
如果找不到该属性,则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