📜  Python setattr()

📅  最后修改于: 2020-09-20 04:31:50             🧑  作者: Mango

setattr() 函数设置对象属性的值。

setattr() 函数的语法为:

setattr(object, name, value)

如果要获取对象的属性,请使用getattr()。

setattr()参数

setattr() 函数采用三个参数:

  1. object-必须设置其属性的对象
  2. 名称-属性名称
  3. value-赋予属性的值

从setattr()返回值

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