全面了解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实现的百度贴吧网络爬虫实例
Apr 17 Python
Python中的Descriptor描述符学习教程
Jun 02 Python
python Matplotlib画图之调整字体大小的示例
Nov 20 Python
python实现随机调用一个浏览器打开网页
Apr 21 Python
python调用摄像头显示图像的实例
Aug 03 Python
Django REST framework视图的用法
Jan 16 Python
500行Python代码打造刷脸考勤系统
Jun 03 Python
pywinauto自动化操作记事本
Aug 26 Python
Python安装whl文件过程图解
Feb 18 Python
Iconfont(矢量图标)+iconmoon(图标svg互转)配合javascript实现社交分享系统
Apr 21 Python
Python同时迭代多个序列的方法
Jul 28 Python
Python办公自动化之教你如何用Python将任意文件转为PDF格式
Jun 28 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中的float类型使用说明
2010/07/27 PHP
PHP面向对象详解(三)
2015/12/07 PHP
jquery关于页面焦点的定位(文本框获取焦点时改变样式 )
2010/09/10 Javascript
js中onload与onunload的使用示例
2013/08/25 Javascript
JS控件ASP.NET的treeview控件全选或者取消(示例代码)
2013/12/16 Javascript
javascript控制在光标位置插入文字适合表情的插入
2014/06/09 Javascript
javascript基于DOM实现权限选择实例分析
2015/05/14 Javascript
angularJS与bootstrap结合实现动态加载弹出提示内容
2015/10/16 Javascript
微信小程序加载更多 点击查看更多
2016/11/29 Javascript
Node.js中.pfx后缀文件的处理方法
2017/03/10 Javascript
如何将百度地图包装成Vue的组件的方法步骤
2019/02/12 Javascript
微信小程序tabBar 返回tabBar不刷新页面
2019/07/25 Javascript
Python 错误和异常小结
2013/10/09 Python
Python爬虫:通过关键字爬取百度图片
2017/02/17 Python
python爬虫实战之最简单的网页爬虫教程
2017/08/13 Python
Python3.6实现连接mysql或mariadb的方法分析
2018/05/18 Python
PyCharm代码格式调整方法
2018/05/23 Python
python实现给scatter设置颜色渐变条colorbar的方法
2018/12/13 Python
python生成requirements.txt的两种方法
2019/09/18 Python
Python Sympy计算梯度、散度和旋度的实例
2019/12/06 Python
Python类中self参数用法详解
2020/02/13 Python
Pandas中DataFrame交换列顺序的方法实现
2020/12/14 Python
CSS3伪类选择器:nth-child()
2009/04/02 HTML / CSS
发现两个有趣的CSS3动画效果
2013/08/14 HTML / CSS
CSS3实现翘边的阴影效果的代码示例
2016/06/13 HTML / CSS
HTML5中的nav标签学习笔记
2016/06/24 HTML / CSS
文员个人求职自荐信
2013/09/21 职场文书
银行实习鉴定
2013/12/13 职场文书
公司司机岗位职责范本
2014/03/03 职场文书
酒鬼酒广告词
2014/03/21 职场文书
海南召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
幼儿园见习总结
2015/06/23 职场文书
煤矿安全学习心得体会
2016/01/18 职场文书
Python关于OS文件目录处理的实例分享
2021/05/23 Python
java基础——多线程
2021/07/03 Java/Android
详细介绍Java中的CyclicBarrier
2022/04/13 Java/Android