全面了解Python的getattr(),setattr(),delattr(),hasattr()


Posted in Python onJune 14, 2016

1. getattr()函数是Python自省的核心函数,具体使用大体如下:

class A: 
def __init__(self): 
self.name = 'zhangjing' 
#self.age='24'
def method(self): 
print"method print" 
 
Instance = A() 
print getattr(Instance , 'name, 'not find') #如果Instance 对象中有属性name则打印self.name的值,否则打印'not find'
print getattr(Instance , 'age', 'not find') #如果Instance 对象中有属性age则打印self.age的值,否则打印'not find'
print getattr(a, 'method', 'default') #如果有方法method,否则打印其地址,否则打印default 
print getattr(a, 'method', 'default')() #如果有方法method,运行函数并打印None否则打印default

2. hasattr(object, name)

说明:判断对象object是否包含名为name的特性(hasattr是通过调用getattr(ojbect, name)是否抛出异常来实现的)

3. setattr(object, name, value)

这是相对应的getattr()。参数是一个对象,一个字符串和一个任意值。字符串可能会列出一个现有的属性或一个新的属性。这个函数将值赋给属性的。该对象允许它提供。例如,setattr(x,“foobar”,123)相当于x.foobar = 123。

4. delattr(object, name)

与setattr()相关的一组函数。参数是由一个对象(记住python中一切皆是对象)和一个字符串组成的。string参数必须是对象属性名之一。该函数删除该obj的一个由string指定的属性。delattr(x, 'foobar')=del x.foobar

以上这篇浅谈Python的getattr(),setattr(),delattr(),hasattr()就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python字符遍历的艺术
Sep 06 Python
python Django模板的使用方法
Jan 14 Python
Windows下安装Django框架的方法简明教程
Mar 28 Python
Python实现读取txt文件中的数据并绘制出图形操作示例
Feb 26 Python
python实现多进程按序号批量修改文件名的方法示例
Dec 30 Python
python GUI库图形界面开发之PyQt5布局控件QHBoxLayout详细使用方法与实例
Mar 06 Python
python3用urllib抓取贴吧邮箱和QQ实例
Mar 10 Python
Python类的动态绑定实现原理
Mar 21 Python
OpenCV 之按位运算举例解析
Jun 19 Python
PyTorch-GPU加速实例
Jun 23 Python
Python爬虫实例——scrapy框架爬取拉勾网招聘信息
Jul 14 Python
Python使用scapy模块发包收包
May 07 Python
浅谈python中的getattr函数 hasattr函数
Jun 14 #Python
深入解析Python中的线程同步方法
Jun 14 #Python
详解Python中的Descriptor描述符类
Jun 14 #Python
浅析Python中的getattr(),setattr(),delattr(),hasattr()
Jun 14 #Python
Python中getattr函数和hasattr函数作用详解
Jun 14 #Python
Python模块包中__init__.py文件功能分析
Jun 14 #Python
Python计算字符宽度的方法
Jun 14 #Python
You might like
PHP实现的多彩标签效果代码分享
2014/08/21 PHP
php中Ctype函数用法详解
2014/12/09 PHP
phpcms的分类名称和类别名称的调用
2017/01/05 PHP
Yii2 hasOne(), hasMany() 实现三表关联的方法(两种)
2017/02/15 PHP
thinkphp框架表单数组实现图片批量上传功能示例
2020/04/04 PHP
JavaScript中出现乱码的处理心得
2009/12/24 Javascript
元素的内联事件处理函数的特殊作用域在各浏览器中存在差异
2011/01/12 Javascript
JS定时器实例详细分析
2013/10/11 Javascript
简体中文转换繁体中文(实现代码)
2013/12/25 Javascript
js获取下拉列表的值和元素个数示例
2014/05/07 Javascript
Javascript基础教程之数据类型 (布尔型 Boolean)
2015/01/18 Javascript
jquery实现带渐变淡入淡出并向右依次展开的多级菜单效果实例
2015/08/22 Javascript
详解Bootstrap创建表单的三种格式(一)
2016/01/04 Javascript
js验证框架实现代码分享
2016/05/18 Javascript
jQuery代码性能优化的10种方法
2016/06/21 Javascript
jquery 正整数数字校验正则表达式
2017/01/10 Javascript
JavaScript函数基础详解
2017/02/03 Javascript
使用 jQuery 实现表单验证功能
2017/07/05 jQuery
VsCode插件整理(小结)
2017/09/14 Javascript
用React实现一个完整的TodoList的示例代码
2017/10/30 Javascript
Bootstrap4如何定制自己的颜色和风格
2018/02/26 Javascript
JavaScript常用截取字符串的三种方式用法区别实例解析
2018/05/15 Javascript
JavaScript实现浅拷贝与深拷贝的方法分析
2018/07/05 Javascript
Layui表格监听行单双击事件讲解
2019/11/14 Javascript
微信小程序 button样式设置为图片的方法
2020/06/19 Javascript
Python书单 不将就
2017/07/11 Python
Python Flask基础教程示例代码
2018/02/07 Python
python中将两组数据放在一起按照某一固定顺序shuffle的实例
2019/07/15 Python
python类的实例化问题解决
2019/08/31 Python
大学本科毕业生的自我鉴定
2013/11/26 职场文书
财务与信息服务专业推荐信
2013/11/28 职场文书
学雷锋树新风演讲稿
2014/05/10 职场文书
离婚协议书范本及离婚须知
2014/10/15 职场文书
群众路线个人整改措施
2014/10/24 职场文书
工程安全生产协议书
2014/11/21 职场文书
2015年工会工作总结
2015/03/30 职场文书