python中函数setattr用法

在Python中,setattr()是一个内置函数,用于设置对象的属性,它接受三个参数:对象、属性名和属性值,如果属性名不存在于对象中,setattr()会创建一个新的属性并设置其值,如果属性名已经存在,setattr()会更新该属性的值。setattr()函数的用法如下:

创新互联公司专注于苍梧企业网站建设,成都响应式网站建设,商城网站开发。苍梧网站建设公司,为苍梧等地区提供建站服务。全流程按需网站制作,专业设计,全程项目跟踪,创新互联公司专业和态度为您提供的服务

setattr(object, attribute, value)

object:表示要设置属性的对象。

attribute:表示要设置的属性名,可以是字符串或符号。

value:表示要设置的属性值。

下面通过几个示例来详细讲解setattr()函数的用法。

示例1:创建一个类,并使用setattr()设置属性

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age
p = Person("张三", 25)
print("原始属性:", p.__dict__)
setattr(p, "name", "李四")
setattr(p, "age", 30)
setattr(p, "gender", "男")
print("更新后的属性:", p.__dict__)

输出结果:

原始属性: {'name': '张三', 'age': 25}
更新后的属性: {'name': '李四', 'age': 30, 'gender': '男'}

在这个示例中,我们首先创建了一个Person类,然后实例化一个对象p,接着,我们使用setattr()函数分别设置nameagegender属性,我们打印出对象p的属性字典,可以看到属性已经被成功设置。

示例2:动态添加方法

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age
def say_hello(self):
    print("Hello, my name is", self.name)
p = Person("张三", 25)
print("原始方法:", [func for func in dir(p) if callable(getattr(p, func))])
setattr(p, "say_hello", say_hello)
print("更新后的方法:", [func for func in dir(p) if callable(getattr(p, func))])
p.say_hello()

输出结果:

原始方法: ['__init__']
更新后的方法: ['__init__', 'say_hello']
Hello, my name is 张三

在这个示例中,我们首先创建了一个Person类,然后实例化一个对象p,接着,我们定义了一个say_hello方法,我们使用setattr()函数将say_hello方法添加到对象p中,我们打印出对象p的方法列表,可以看到say_hello方法已经被成功添加,我们调用p.say_hello()方法,输出了预期的结果。

总结一下,setattr()函数在Python中是一个非常实用的内置函数,它可以帮助我们动态地设置对象的属性和方法,在实际开发中,我们可以利用这个函数来实现一些灵活的功能,例如动态添加属性和方法、修改已有属性的值等,希望本文能够帮助你更好地理解setattr()函数的用法。

当前文章:python中函数setattr用法
网页URL:http://www.gawzjz.com/qtweb/news13/182413.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联