python的getattr和setattr_getattr函数和setattr函数
python内置的两个看起来很简单,一般也不怎么用得上的函数,getattr函数和setattr函数。getattr函数用于获取对象的某个属性的值,setattr函数用于设置对象的某个属性值。
getattr函数
获取对象的某个属性值,如果属性不存在,而且又没有提供default值,抛出AttributeError。
以上代码首先用dir查看了10这个int对象的所有属性,然后获取bit_length属性,发现是一个函数,获取real属性,就是10。再获取一个浮点数10.12345的real属性,再获取一个不存在的kkkk属性,不过提供了默认值abcde,返回abcde,因为kkkk属性不存在。如果不提供默认值,获取不存在的kkkk属性值,抛出AttributeError异常。
python还有一个内置函数hasattr,就是通过getattr来实现的, This is implemented by calling getattr(object, name) and seeing whether it raises an AttributeError or not.)
setattr函数
顾名思义,就是设置对象的某个属性值。比较有趣的一个细节是,被设置的属性,可以是对象还不存在的属性。不过只能对自定义的对象进行这种操作,内置对象不可以。
>>> class person():
... def __init__(self, age):
... self.age = age
...
>>> p = person(40)
>>> p.age
40
>>> setattr(p, 'gender', 'male')
>>> p.gender
'male'
>>> setattr(p, 'age', 100)
>>> p.age
100
person这个class,一开始只有age属性,后通过setattr函数,增加了gender属性。我们其实本来就可以对对象任意增加不存在的属性值,只是如果使用setattr函数,带来一个好处,即属性的名称也可以是动态的,比如属性的名称通过某个变量来获取。
-- EOF --
python的getattr和setattr_getattr函数和setattr函数相关推荐
- python内置函数之setattr() 函数
文章目录 setattr() 函数 描述 语法 参数 返回值 实例 setattr() 函数 描述 setattr() 函数对应函数 getattr(),用于设置属性值,该属性不一定是存在的. 语法 ...
- Python 3 内置函数 - `setattr()`函数
Python 3 内置函数 - setattr()函数 0. setattr()函数 用于设置属性值,该属性不一定是存在的. setattr(x, 'y', v) 等于 x.y = v 1. 使用方法 ...
- python中attr_python中hasattr()、getattr()、setattr()函数的使用
引言: 在阅读高手写的代码时,有很多简写的形式,如果没有见过还真的看不太懂是什么意思,其中一个比较常用的就是getattr()用来调用一个类中的变量或者方法,相关联的hasattr().getattr ...
- python中hasattr()、getattr()、setattr()函数的使用
在阅读高手写的代码时,有很多简写的形式,如果没有见过还真的看不太懂是什么意思,其中一个比较常用的就是getattr()用来调用一个类中的变量或者方法,相关联的hasattr().getattr().s ...
- python hasattr函数_Python3 hasattr()、getattr()、setattr()函数简介
Python3 hasattr().getattr().setattr()函数简介 一.hasattr(object, name) 判断object对象中是否存在name属性,当然对于python的对 ...
- Python的hasattr() getattr() setattr() 函数使用方法详解
Python的hasattr() getattr() setattr() 函数使用方法详解 (一) hasattr(object,name) 函数 判断一个对象里面是否有 name 属性或者 name ...
- Python学习: hasattr()、getattr()、setattr()函数简介
一.hasattr(object, name) 判断object对象中是否存在name属性,当然对于python的对象而言,属性包含变量和方法:有则返回True,没有则返回False:需要注意的是na ...
- python中setattr用法_详解Python的hasattr() getattr() setattr() 函数使用方法
hasattr(object, name) 判断一个对象里面是否有name属性或者name方法,返回BOOL值,有name特性返回True, 否则返回False. 需要注意的是name要用括号括起来 ...
- python中setattr用法_python中hasattr()、getattr()、setattr()函数的使用
引言: 在阅读源码时,有很多简写的形式,其中一个比较常用的就是getattr()用来调用一个类中的变量或者方法,相关联的hasattr().getattr().setattr()函数的使用也一并学习了 ...
最新文章
- spacemacs各种问题修复方法
- linux中光标向上调一行命令,Linux vi 中移动光标 命令
- 本地搭建docker私服
- div超出不换行_DIV元素不换行
- 使用docker-compose搭建AspNetCore开发环境
- [渝粤教育] 中国地质大学 高级会计学 复习题
- SQL SERVER数据类型与C#数据类型对照表
- HBase的RowKey设计
- 一文读懂C++程序的结构、执行与编译
- Python 43 视图 、sql注入问题 、事务 、存储过程
- 5分钟学会制作自动化脚本——自动化脚本辅助开发IDE——Selenium IDE介绍(测试工程师必备)
- python蓝牙连接测试_基于python实现蓝牙通信代码实例
- uboot源码中start.S里中断向量表中不直接LDR PC ,异常地址,而是使用一个标号
- Mac上键入数学符号怎样输入
- quartz 参数说明
- typescript 中 public private protect 区别
- R语言中用于计算Rsquare的包rsq
- .设计一个敏感词过滤程序
- 【C4AI-2022】基于飞桨的井下煤流视频智能分析系统
- QTreeWidget 勾选三种状态