python 内建函数setattr() getattr()

python 内建函数setattr() getattr()

setattr(object,name,value):

作用:设置object的名称为name(type:string)的属性的属性值为value,属性name可以是已存在属性也可以是新属性。

getattr(object,name,default):

作用:返回object的名称为name的属性的属性值,如果属性name存在,则直接返回其属性值;如果属性name不存在,则触发AttribetError异常或当可选参数default定义时返回default值。

<!-- lang: python -->
>>> class attribute():
...     def __init__(self):
...             self.attribute_1=‘i am attribute 1‘
...             self.attribute_2=‘i am attribute 2‘
...
>>> result=attribute()
>>> dir(result)
[‘__doc__‘, ‘__init__‘, ‘__module__‘, ‘attribute_1‘, ‘attribute_2‘]
>>> getattr(result,‘attribute_1‘)
‘i am attribute 1‘
>>> getattr(result,‘attribute_3‘)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: attribute instance has no attribute ‘attribute_3‘
>>> getattr(result,‘attribute_3‘,‘i am attribute 3‘)
‘i am attribute 3‘
>>> dir(result)
[‘__doc__‘, ‘__init__‘, ‘__module__‘, ‘attribute_1‘, ‘attribute_2‘]
>>> getattr(result,‘attribute_2‘)
‘i am attribute 2‘
>>> setattr(result,‘attribute_2‘,‘i am changed‘)
>>> getattr(result,‘attribute_2‘)
‘i am changed‘
>>> setattr(result,‘attribute_4‘,‘i am new one‘)
>>> dir(result)
[‘__doc__‘, ‘__init__‘, ‘__module__‘, ‘attribute_1‘, ‘attribute_2‘, ‘attribute_4‘]
时间: 2024-10-05 10:28:17

python 内建函数setattr() getattr()的相关文章

python 内建函数 filter,map和reduce

python 内建函数 filter,map和reduce, 三个函数比较类似,都是应用于序列的内置函数,常见的序列包括list.tuple.str等.而且三个函数都可以和lambda表达式结合使用.下面分别介绍. 1.filter filter(bool_func,seq):此函数的功能类似过滤器.调用一个布尔函数bool_func来迭代遍历每个seq中的元素:返回一个使bool_seq返回值为true的元素的序列. 例如 : 从[1,2,3,4,5,6,7,8,9]序列中获取被3整除的序列

Python中的getattr()函数详解:

Python中的getattr()函数详解: getattr(object, name[, default]) -> value Get a named attribute from an object; getattr(x, 'y') is equivalent to x.y. When a default argument is given, it is returned when the attribute doesn't exist; without it, an exception i

Python内建函数reduce()用法

reduce把一个函数作用在一个序列[x1, x2, x3...]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算,下面讲述Python内建函数reduce()用法. def add(x, y): return x + y reduce(add, [1, 3, 5, 7, 9]) 输出结果 25 reduce也就累计相加,求出所有数据的总和 文章来自 http://www.96net.com.cn 原文地址:https://www.cnblogs.com/96ne

Python内建函数enumerate()用法及在for循环应用

Python 内建函数enumerate() 由于这个单纯很长,不容易记住,用法还是比较广泛的,下面讲述Python内建函数enumerate()用法. 1,实例 enumerate(sequence, [start=0]) 2,enumerate()用法 >>>seasons = ['Spring', 'Summer', 'Fall', 'Winter']>>> list(enumerate(seasons))[(0, 'Spring'), (1, 'Summer')

python中hasattr getattr setattr用法

一:hasattr 判断一个对象里面是否有name属性或者name方法,返回BOOL值,有name特性返回True, 否则返回False.需要注意的是name要用括号括起来 1 >>> class test():  2 ...     name="xiaohua"  3 ...     def run(self):   4 ...             return "HelloWord"  5 ...   6 >>> t=te

Python的hasattr() getattr() setattr() 函数使用方法详解

最近用到对用户信息进行判断,看到这个方法的详解,感觉比较好,所以拿过来,让自己可以时常看看 hasattr(object, name)判断一个对象里面是否有name属性或者name方法,返回BOOL值,有name特性返回True, 否则返回False.需要注意的是name要用括号括起来 getattr(object, name[,default])获取对象object的属性或者方法,如果存在打印出来,如果不存在,打印出默认值,默认值可选.需要注意的是,如果是返回的对象的方法,返回的是方法的内存地

python setattr(),getattr()函数

setattr(object,name,value): 作用:设置object的名称为name(type:string)的属性的属性值为value,属性name可以是已存在属性也可以是新属性. getattr(object,name,default): 作用:返回object的名称为name的属性的属性值,如果属性name存在,则直接返回其属性值:如果属性name不存在,则触发AttribetError异常或当可选参数default定义时返回default值. getattr也可以返回objec

Python的hasattr() getattr() setattr() 函数

class C(object):     def __init__(self):         self.a = 'hello'         self.b = 'world'         self.foo = 100     def get(self):         return self.a if __name__ == '__main__':     c = C()     #判断一个对象里面是否有name属性或者name方法,返回BOOL值     print(hasattr

Python的hasattr() getattr() setattr()

hasattr(object, name)判断一个对象里面是否有name属性或者name方法,返回BOOL值,有name特性返回True, 否则返回False.需要注意的是name要用括号括起来 1 >>> class test(): 2 ... name="xiaohua" 3 ... def run(self): 4 ... return "HelloWord" 5 ... 6 >>> t=test() 7 >>&