全面了解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的Django框架下使用django-tagging的教程
May 30 Python
python实现DES加密解密方法实例详解
Jun 30 Python
Django中URLconf和include()的协同工作方法
Jul 20 Python
使用Python的Twisted框架编写非阻塞程序的代码示例
May 25 Python
django上传图片并生成缩略图方法示例
Dec 11 Python
Django rest framework jwt的使用方法详解
Aug 08 Python
Python 中 -m 的典型用法、原理解析与发展演变
Nov 11 Python
pytorch逐元素比较tensor大小实例
Jan 03 Python
Python基于requests库爬取网站信息
Mar 02 Python
Python如何省略括号方法详解
Mar 21 Python
编写python代码实现简单抽奖器
Oct 20 Python
Python中递归以及递归遍历目录详解
Oct 24 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的计数器程序
2006/10/09 PHP
PHP高级OOP技术演示
2009/08/27 PHP
使用PHP计算两个路径的相对路径
2013/06/14 PHP
CodeIgniter启用缓存和清除缓存的方法
2014/06/12 PHP
ThinkPHP标签制作教程
2014/07/10 PHP
PHP贪婪算法解决0-1背包问题实例分析
2015/03/23 PHP
jQuery的一些注意
2006/12/06 Javascript
request请求获取参数的实现方法(post和get两种方式)
2016/09/27 Javascript
BootStrap网页中代码显示用法详解
2016/10/21 Javascript
详解js运算符单竖杠“|”与“||”的用法和作用介绍
2016/11/04 Javascript
原生JS实现Ajax跨域请求flask响应内容
2017/10/24 Javascript
vue判断input输入内容全是空格的方法
2018/03/02 Javascript
vue 录制视频并压缩视频文件的方法
2018/07/27 Javascript
layer弹出子iframe层父子页面传值的实现方法
2018/11/22 Javascript
Python实现包含min函数的栈
2016/04/29 Python
pyhton列表转换为数组的实例
2018/04/04 Python
Python学习_几种存取xls/xlsx文件的方法总结
2018/05/03 Python
python自动发送测试报告邮件功能的实现
2019/01/22 Python
详解Python数据分析--Pandas知识点
2019/03/23 Python
利用Python+阿里云实现DDNS动态域名解析的方法
2019/04/01 Python
Python Django框架实现应用添加logging日志操作示例
2019/05/17 Python
Python模块zipfile原理及使用方法详解
2020/08/04 Python
Django模型验证器介绍与源码分析
2020/09/08 Python
python批量检查两个对应的txt文件的行数是否一致的实例代码
2020/10/31 Python
很酷的小工具和电子产品商城:GearBest
2016/11/19 全球购物
澳大利亚吉他在线:Artist Guitars
2017/03/30 全球购物
应聘面试自我评价
2014/01/24 职场文书
保险专业自荐信范文
2014/02/20 职场文书
实验室的标语
2014/06/20 职场文书
好人好事演讲稿
2014/09/01 职场文书
自动化专业大学生职业生涯规划范文:爱拚才会赢
2014/09/12 职场文书
求职自我评价范文100字
2014/09/23 职场文书
2015年小学开学寄语
2015/02/27 职场文书
如何写好开幕词?
2019/06/24 职场文书
CSS预处理框架——Stylus
2021/04/21 HTML / CSS
使用pandas或numpy处理数据中的空值(np.isnan()/pd.isnull())
2021/05/14 Python