Python setattr 用法详解及示例

Python setattr 用法详解及示例

setattr是Python内置函数之一,用于动态设置对象的属性值。其语法如下:

setattr(object, name, value)

其中,object是要设置属性值的对象,name是属性的名称,value是属性的值。

下面是三个setattr的示例:

  1. 示例一:设置对象的属性值
class Person:
    def __init__(self, name):
        self.name = name

person = Person("Alice")
setattr(person, "age", 25)
print(person.age)  # 输出: 25

在示例一中,我们创建了一个Person类的实例person,并通过setattr动态设置了它的age属性的值为25。最后打印出person.age的值,可以看到属性值已经成功设置。

  1. 示例二:动态修改属性值
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

person = Person("Alice", 25)
print(person.age)  # 输出: 25

setattr(person, "age", 30)
print(person.age)  # 输出: 30

在示例二中,我们创建了一个Person类的实例person,并通过setattr修改了它的age属性的值。可以看到,初始时person.age的值为25,修改后为30。

  1. 示例三:动态设置对象的方法
class Person:
    def __init__(self, name):
        self.name = name

def say_hello(self):
    print("Hello, {}".format(self.name))

person = Person("Alice")
setattr(person, "greet", say_hello)
person.greet()  # 输出: Hello, Alice

在示例三中,我们创建了一个Person类的实例person,并定义了一个say_hello函数。通过setattrsay_hello函数动态设置为person的方法greet,然后调用person.greet()来执行该方法。最后,会输出Hello, Alice

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程