全面了解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 29 Python
Windows下python2.7.8安装图文教程
May 26 Python
Jupyter中直接显示Matplotlib的图形方法
May 24 Python
Pandas中Series和DataFrame的索引实现
Jun 27 Python
Numpy之将矩阵拉成向量的实例
Nov 30 Python
Python中base64与xml取值结合问题
Dec 22 Python
Python之Class&Object用法详解
Dec 25 Python
TensorFlow实现保存训练模型为pd文件并恢复
Feb 06 Python
Python +Selenium解决图片验证码登录或注册问题(推荐)
Feb 09 Python
Python %r和%s区别代码实例解析
Apr 03 Python
Python 改变数组类型为uint8的实现
Apr 09 Python
Python turtle库的画笔控制说明
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
重置版宣传动画
2020/04/09 魔兽争霸
德劲1107的电路分析与打磨
2021/03/02 无线电
WML,Apache,和 PHP 的介绍
2006/10/09 PHP
PHP获取网卡地址的代码
2008/04/09 PHP
PHP模拟asp.net的StringBuilder类实现方法
2015/08/08 PHP
PHP 将数组打乱 shuffle函数的用法及简单实例
2016/06/17 PHP
PHP单例模式简单用法示例
2017/06/23 PHP
PHP操作Redis数据库常用方法示例
2018/08/25 PHP
如何在centos8自定义目录安装php7.3
2019/11/28 PHP
基于jquery的web页面日期格式化插件
2011/11/15 Javascript
jquery使整个div区域可以点击的方法
2015/06/24 Javascript
解决JS组件bootstrap table分页实现过程中遇到的问题
2016/04/21 Javascript
Node.js实现兼容IE789的文件上传进度条
2016/09/02 Javascript
原生js实现放大镜
2017/02/20 Javascript
原生JS实现导航下拉菜单效果
2020/11/25 Javascript
Angular4 ElementRef的应用
2018/02/26 Javascript
Vue使用mixins实现压缩图片代码
2018/03/14 Javascript
动态加载、移除js/css文件的示例代码
2018/03/20 Javascript
浅谈Postman解决token传参的问题
2018/03/31 Javascript
对Vue2 自定义全局指令Vue.directive和指令的生命周期介绍
2018/08/30 Javascript
Vue.js实现开发购物车功能的方法详解
2019/02/22 Javascript
Python 实现使用dict 创建二维数据、DataFrame
2018/04/13 Python
Python Tornado批量上传图片并显示功能
2020/03/26 Python
python实现逢七拍腿小游戏的思路详解
2020/05/26 Python
python 常见的反爬虫策略
2020/09/27 Python
Biblibili视频投稿接口分析并以Python实现自动投稿功能
2021/02/05 Python
基于CSS3实现图片模糊过滤效果
2015/11/19 HTML / CSS
前端实现背景虚化但内容清晰且自适应 的实例代码
2019/08/01 HTML / CSS
伦敦哈德森鞋:Hudson Shoes
2018/02/06 全球购物
测试工程师程序员求职信范文
2014/02/20 职场文书
村主任“四风”问题个人整改措施
2014/10/04 职场文书
党的群众路线专项整治方案
2014/11/03 职场文书
2015年妇联工作总结范文
2015/04/22 职场文书
消防宣传语大全
2015/07/13 职场文书
高一数学教学反思
2016/02/18 职场文书
Python数据分析入门之数据读取与存储
2021/05/13 Python