全面了解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中pandas.DataFrame对行与列求和及添加新行与列示例
Mar 12 Python
python中获得当前目录和上级目录的实现方法
Oct 12 Python
python验证码识别实例代码
Feb 03 Python
Python实现string字符串连接的方法总结【8种方式】
Jul 06 Python
学习和使用python的13个理由
Jul 30 Python
Python 通过截图匹配原图中的位置(opencv)实例
Aug 27 Python
解决ROC曲线画出来只有一个点的问题
Feb 28 Python
python实现FTP循环上传文件
Mar 20 Python
学习Python需要哪些工具
Sep 04 Python
Django celery异步任务实现代码示例
Nov 26 Python
python 通过exifread读取照片信息
Dec 24 Python
Pyhton爬虫知识之正则表达式详解
Apr 01 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
Zend Guard一些常见问题解答
2008/09/11 PHP
php-fpm配置详解
2014/02/12 PHP
YII2 实现多语言配置的方法分享
2017/01/11 PHP
使用JavaScript switch case 另类写法
2010/03/14 Javascript
根据出生日期自动取得星座的js代码
2010/07/20 Javascript
仿jQuery的siblings效果的js代码
2011/08/09 Javascript
JS实现不使用图片仿Windows右键菜单效果代码
2015/10/22 Javascript
IntersectionObserver API 详解篇
2016/12/11 Javascript
解析JavaScript实现DDoS攻击原理与保护措施
2016/12/26 Javascript
bootstrap表单按回车会自动刷新页面的解决办法
2017/03/08 Javascript
node.js爬虫爬取拉勾网职位信息
2017/03/14 Javascript
解决Layui数据表格的宽高问题
2019/09/28 Javascript
微信小程序实现选择地址省市区三级联动
2020/06/21 Javascript
js实现简单扫雷
2020/11/27 Javascript
[01:02:25]2014 DOTA2华西杯精英邀请赛5 24 NewBee VS VG
2014/05/25 DOTA
详解Django中的ifequal和ifnotequal标签使用
2015/07/16 Python
使用python调用zxing库生成二维码图片详解
2017/01/10 Python
flask框架使用orm连接数据库的方法示例
2018/07/16 Python
在pycharm上mongodb配置及可视化设置方法
2018/11/30 Python
Django框架用户注销功能实现方法分析
2019/05/28 Python
Python 3.8 新功能大揭秘【新手必学】
2020/02/05 Python
python中执行smtplib失败的处理方法
2020/07/01 Python
Python 如何对文件目录操作
2020/07/10 Python
日本最大的药妆连锁店:Matsukiyo松本清药妆店
2017/11/23 全球购物
Allsole美国/加拿大:英国一家专门出售品牌鞋子的网站
2018/10/21 全球购物
Hanky Panky官方网站:内衣和睡衣
2019/07/25 全球购物
护士实习生自我鉴定范文
2013/12/10 职场文书
个人函授自我鉴定
2014/03/25 职场文书
金融保险专业求职信
2014/09/03 职场文书
股东授权委托书范本
2014/09/13 职场文书
办理房产过户的委托书
2014/09/14 职场文书
代领学位证书毕业证书委托书
2014/09/30 职场文书
社区母亲节活动总结
2015/02/10 职场文书
公司欠款证明
2015/06/24 职场文书
python爬不同图片分别保存在不同文件夹中的实现
2021/04/02 Python
Vue实现动态查询规则生成组件
2021/05/27 Vue.js