码迷,mamicode.com
首页 > 编程语言 > 详细

Python内置函数(57)——setattr

时间:2016-11-15 00:34:28      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:color   ast   object   this   存在   ssi   div   tee   tin   

英文文档:

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 "<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

 

Python内置函数(57)——setattr

标签:color   ast   object   this   存在   ssi   div   tee   tin   

原文地址:http://www.cnblogs.com/sesshoumaru/p/6063893.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!