全面了解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实现绘制树枝简单示例
Jul 24 Python
python基础入门学习笔记(Python环境搭建)
Jan 13 Python
python 捕获 shell/bash 脚本的输出结果实例
Jan 04 Python
Python自动发邮件脚本
Mar 31 Python
Python寻找路径和查找文件路径的示例
Jul 10 Python
python如何获取apk的packagename和activity
Jan 10 Python
Python的赋值、深拷贝与浅拷贝的区别详解
Feb 12 Python
Selenium 滚动页面至元素可见的方法
Mar 18 Python
Python3开发实例之非关系型图数据库Neo4j安装方法及Python3连接操作Neo4j方法实例
Mar 18 Python
python tkinter实现定时关机
Apr 21 Python
python读取mnist数据集方法案例详解
Sep 04 Python
Python使用pyecharts控件绘制图表
Jun 05 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 Error与Logging函数的深入理解
2013/06/03 PHP
php判断字符串在另一个字符串位置的方法
2014/02/27 PHP
php获取域名的google收录示例
2014/03/24 PHP
codeigniter中测试通过的分页类示例
2014/04/17 PHP
php实现的漂亮分页方法
2014/04/17 PHP
jquery validate使用攻略 第四步
2010/07/01 Javascript
弹出最简单的模式化遮罩层的js代码
2013/12/04 Javascript
js拖拽一些常见的思路方法整理
2014/03/19 Javascript
CSS+JS实现点击文字弹出定时自动关闭DIV层菜单的方法
2015/05/12 Javascript
JavaScript的代码编写格式规范指南
2015/12/07 Javascript
JavaScript常用本地对象小结
2016/03/28 Javascript
JS中的phototype详解
2017/02/04 Javascript
jQuery实现的鼠标拖动浮层功能示例【拖动div等任何标签】
2018/12/29 jQuery
mpvue微信小程序的接口请求fly全局拦截代码实例
2019/11/13 Javascript
详解element-ui动态限定的日期范围选择器代码片段
2020/07/03 Javascript
Vue router传递参数并解决刷新页面参数丢失问题
2020/12/02 Vue.js
python复制与引用用法分析
2015/04/08 Python
Python黑魔法Descriptor描述符的实例解析
2016/06/02 Python
Python3利用Dlib19.7实现摄像头人脸识别的方法
2018/05/11 Python
Python实现简易过滤删除数字的方法小结
2019/01/09 Python
Python实现通过解析域名获取ip地址的方法分析
2019/05/17 Python
Python 字节流,字符串,十六进制相互转换实例(binascii,bytes)
2020/05/11 Python
matlab、python中矩阵的互相导入导出方式
2020/06/01 Python
CSS3支持IE6, 7, and 8的边框border属性
2012/12/28 HTML / CSS
巴西本土电商平台:Americanas
2020/06/21 全球购物
Java里面Pass by value和Pass by Reference是什么意思
2016/05/02 面试题
房地产销售大学生自我评价分享
2013/11/11 职场文书
岗位职责范本
2013/11/23 职场文书
《九寨沟》教学反思
2014/04/08 职场文书
社区健康教育工作方案
2014/06/03 职场文书
工伤事故赔偿协议书范文
2014/09/24 职场文书
个人整改措施书面材料
2014/10/24 职场文书
护理见习报告范文
2014/11/03 职场文书
网络妈妈观后感
2015/06/08 职场文书
教师节随笔
2015/08/15 职场文书
一文搞懂如何实现Go 超时控制
2021/03/30 Python