zl程序教程

您现在的位置是:首页 >  后端

当前栏目

python setattr函数_Python内置函数(53)——setattr

Python 函数 内置 53 setattr
2023-06-13 09:13:03 时间

大家好,又见面了,我是你们的朋友全栈君。

英文文档:

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值。

>>> 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 “”, line 1, in

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/213542.html原文链接:https://javaforall.cn