Python 基础教程

Python 流程控制

Python 函数

Python 数据类型

Python 文件操作

Python 对象和类

Python 日期和时间

Python 高级知识

Python 参考手册

Python setattr() 使用方法及示例

Python 内置函数

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

setattr()函数的语法为:

setattr(object, name, value)

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

setattr()参数

setattr()函数具有三个参数:

  • object -必须设置属性的对象

  • name -属性名称

  • value -赋予属性的值

setattr()返回值

setattr()方法不返回任何内容。返回None。

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

class Person:
    name = 'Adam'
    
p = Person()
print('修改前:', p.name)

#将名称设置为'John'
setattr(p, 'name', 'John')

print('修改后:', p.name)

输出结果

修改前: Adam
修改后: John

示例2:在setattr()中找不到属性时

如果找不到该属性,则setattr()创建一个新属性并为其分配值。但是,只有在对象实现该__dict__()方法的情况下才行。

您可以使用dir()函数检查对象的所有属性。

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

# 将属性名设置为 John
setattr(p, 'name', 'John')
print('Name is:', p.name)

# 设置Person中不存在的属性
setattr(p, 'age', 23)
print('Age is:', p.age)

输出结果

Name is: John
Age is: 23

Python 内置函数