如何通过Python的setattr函数为对象动态设置属性值?

2026-05-16 17:051阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计395个文字,预计阅读时间需要2分钟。

如何通过Python的setattr函数为对象动态设置属性值?

英文文档:Python 文档:`setattr(object, name, value)`This function assigns the value to the named attribute of the object. It is similar to `getattr()`. The arguments are an object, a string, and an arbitrary value. The string may refer to an existing attribute or a new one.

英文文档:

setattr(object, name, value)

This is the counterpart of getattr(). The arguments are an object, a string and an arbitrary value. The string may name an existing attribute or a new attribute. The function assigns the value to the attribute, provided the object allows it. For example, setattr(x, 'foobar', 123) is equivalent to x.foobar = 123

  设置对象的属性值

说明:

  1. setattr函数和getattr函数是对应的。一个设置对象的属性值,一个获取对象属性值。

  2. 函数有3个参数,功能是对参数object对象,设置名为name的属性的属性值为value值。

如何通过Python的setattr函数为对象动态设置属性值?

>>> class Student: def __init__(self,name): self.name = name >>> a = Student('Kim') >>> a.name 'Kim' >>> setattr(a,'name','Bob') >>> a.name 'Bob'

  3. name属性可以是object对象的一个已经存在的属性,存在的话就会更新其属性值;如果name属性不存在,则对象将创建name名称的属性值,并存储value值。等效于调用object.name = value。

>>> a.age # 不存在age属性 Traceback (most recent call last): File "<pyshell#20>", line 1, in <module> a.age AttributeError: 'Student' object has no attribute 'age' >>> setattr(a,'age',10) # 执行后 创建 age属性 >>> a.age # 存在age属性了 10 >>> a.age = 12 # 等效于调用object.name >>> a.age 12

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

本文共计395个文字,预计阅读时间需要2分钟。

如何通过Python的setattr函数为对象动态设置属性值?

英文文档:Python 文档:`setattr(object, name, value)`This function assigns the value to the named attribute of the object. It is similar to `getattr()`. The arguments are an object, a string, and an arbitrary value. The string may refer to an existing attribute or a new one.

英文文档:

setattr(object, name, value)

This is the counterpart of getattr(). The arguments are an object, a string and an arbitrary value. The string may name an existing attribute or a new attribute. The function assigns the value to the attribute, provided the object allows it. For example, setattr(x, 'foobar', 123) is equivalent to x.foobar = 123

  设置对象的属性值

说明:

  1. setattr函数和getattr函数是对应的。一个设置对象的属性值,一个获取对象属性值。

  2. 函数有3个参数,功能是对参数object对象,设置名为name的属性的属性值为value值。

如何通过Python的setattr函数为对象动态设置属性值?

>>> class Student: def __init__(self,name): self.name = name >>> a = Student('Kim') >>> a.name 'Kim' >>> setattr(a,'name','Bob') >>> a.name 'Bob'

  3. name属性可以是object对象的一个已经存在的属性,存在的话就会更新其属性值;如果name属性不存在,则对象将创建name名称的属性值,并存储value值。等效于调用object.name = value。

>>> a.age # 不存在age属性 Traceback (most recent call last): File "<pyshell#20>", line 1, in <module> a.age AttributeError: 'Student' object has no attribute 'age' >>> setattr(a,'age',10) # 执行后 创建 age属性 >>> a.age # 存在age属性了 10 >>> a.age = 12 # 等效于调用object.name >>> a.age 12

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。