setattr
是 Python 内置的一个函数,用于设置对象的属性值。
函数语法
setattr(object, attribute, value)
参数:
object
: 需要设置属性的对象。attribute
: 属性的名称,以字符串形式传递。value
: 要设置的属性值。
示例代码
最基本的用法,设置对象的属性值:
class Person:
pass
person = Person()
setattr(person, 'name', 'Alice')
print(person.name)
运行结果:
Alice
在现有对象上动态添加属性:
class Car:
pass
car = Car()
setattr(car, 'color', 'red')
print(car.color)
运行结果:
red
修改已有对象的属性值:
class Book:
def __init__(self, title):
self.title = title
book = Book("Python Programming")
print("Before:", book.title)
setattr(book, 'title', 'Advanced Python')
print("After:", book.title)
运行结果:
Before: Python Programming
After: Advanced Python
总结
setattr
函数是 Python 中用于动态设置对象属性的内置函数。它可以在已有对象上添加新属性、修改已有属性的值。需要注意的是,使用 setattr
时,属性名以字符串的形式传递。这个函数在编写需要在运行时动态修改对象属性的代码时非常有用。但要谨慎使用,确保你了解代码的结构和目的,以避免不必要的混乱和错误。