全面了解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中enumerate的用法实例解析
Aug 18 Python
浅谈python新手中常见的疑惑及解答
Jun 14 Python
Python学习小技巧之列表项的拼接
May 20 Python
Python入门之三角函数sin()函数实例详解
Nov 08 Python
PyQt5每天必学之单行文本框
Apr 19 Python
利用Pandas和Numpy按时间戳将数据以Groupby方式分组
Jul 22 Python
python中property和setter装饰器用法
Dec 19 Python
python小项目之五子棋游戏
Dec 26 Python
解决Tensorflow 使用时cpu编译不支持警告的问题
Feb 03 Python
Python标准库shutil模块使用方法解析
Mar 10 Python
Python参数传递实现过程及原理详解
May 14 Python
教你怎么用Python生成九宫格照片
May 20 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安装全攻略:APACHE
2006/10/09 PHP
PHP加密解密类实例代码
2016/07/20 PHP
thinkphp 字母函数详解T/I/N/D/M/A/R/U
2017/04/03 PHP
PHP强制转化的形式整理
2020/05/22 PHP
js 设置选中行的样式的实现代码
2010/05/24 Javascript
Package.js  现代化的JavaScript项目make工具
2012/05/23 Javascript
Node.js模块加载详解
2014/08/16 Javascript
JavaScript中document对象使用详解
2015/01/06 Javascript
js点击文本框后才加载验证码实例代码
2015/10/20 Javascript
浅析Node.js 中 Stream API 的使用
2015/10/23 Javascript
微信小程序  简单实例(阅读器)的实例开发
2016/09/29 Javascript
基于Vue.js实现简单搜索框
2020/03/26 Javascript
深入了解JavaScript的逻辑运算符(与、或)
2016/12/20 Javascript
jQuery操作json常用方法示例
2017/01/04 Javascript
AngularJS全局警告框实现方法示例
2017/05/18 Javascript
Nodejs搭建wss服务器教程
2017/05/24 NodeJs
实现单层json按照key字母顺序排序的示例
2017/12/06 Javascript
用Axios Element实现全局的请求loading的方法
2018/03/15 Javascript
JavaScript使用递归和循环实现阶乘的实例代码
2018/08/28 Javascript
小试小程序云开发(小结)
2019/06/06 Javascript
vue自定义指令实现仅支持输入数字和浮点型的示例
2019/10/30 Javascript
javascript实现智能手环时间显示
2020/09/18 Javascript
Python获取Linux系统下的本机IP地址代码分享
2014/11/07 Python
Python中实现参数类型检查的简单方法
2015/04/21 Python
简单上手Python中装饰器的使用
2015/07/12 Python
python实现解数独程序代码
2017/04/12 Python
Python中浅拷贝copy与深拷贝deepcopy的简单理解
2018/10/26 Python
Python编程中flask的简介与简单使用
2018/12/28 Python
Python统计一个字符串中每个字符出现了多少次的方法【字符串转换为列表再统计】
2019/05/05 Python
Python学习笔记之自定义函数用法详解
2019/06/08 Python
Python3如何在Windows和Linux上打包
2020/02/25 Python
写好自荐信要注意的问题
2013/11/10 职场文书
创业计划书撰写原则
2014/01/25 职场文书
2015年小学英语教师工作总结
2015/05/12 职场文书
css3新特性的应用示例分析
2022/03/16 HTML / CSS
大型强子对撞机再次重启探索“第五种自然力”
2022/04/29 数码科技