全面了解Python的getattr(),setattr(),delattr(),hasattr()
作者:jingxian 发布时间:2021-01-11 11:30:33
标签:Python,getattr,setattr
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
0
投稿
猜你喜欢
- 一、算法 1、算法的主要思想就是将一个中缀表达式(Infix expression)转换成便
- 触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程。触发器主要是通过事件进行触发被自动调用执行的。而存储过程可以通过存储过程的
- 先来看一下最终的效果吧开始聊天,输入消息并点击发送消息就可以开始聊天了点击 “获取后端数据”开启实时推送先来简单了解一下 Django Ch
- 在python代码编写过程中,养成注释的习惯非常有用,可以让自己或别人后续在阅读代码时,轻松理解代码的含义。如果只是简单的单行注释,可直接用
- 引言列表、字典:可变序列,可以执行增删改排序等字典:无序的一、字典的创建#使用{}创建scores = {'张三':100
- 本文实例讲述了Python3中函数参数传递方式。分享给大家供大家参考,具体如下:之前在看北理工嵩天等老师的python3的课程,在第五周中老
- 前几天图书馆说服务器(Ubuntu14.04)有安全漏洞,不按时修复会关停。看了一下漏洞清单,主要是ssh和mysql的版本问题。把mysq
- 字典是python中唯一内建的映射类型。字典中的值并没有特殊的顺序,但是都存储在一个特定的键(key)里。键可以是数字,字符串甚至是元组。1
- 1. 模块介绍1. bisect模块为内置标准库,它实现了二分法查找算法(只要提到二分法查找,应该优先想到此模块)2. 主要包含有两个函数:
- 前言超时,指一个协程A开启另一个协程B,A会阻塞等待B一段指定的时间,例如:5秒,A通知B结束(也有可能不通知,让B继续运行)。也就是说,A
- 本文以实例形式展示了Python算法中栈(stack)的实现,对于学习数据结构域算法有一定的参考借鉴价值。具体内容如下:1.栈stack通常
- SMTP模块这么多已定义的类中,我们最常用的的还是smtplib.SMTP类,就具体看看该类的用法:smtp实例封装一个smtp连接,它支持
- 申明本博客不提供任何服务器端程序,也不提供任何收费抢购软件。该博客仅用于学习selenium自动化工具。如有侵犯到任何公司的合法权益,请私信
- 描述log10() 方法返回以10为基数的x对数,x>0。语法以下是 log10() 方法的语法:import mathmath.lo
- 案例描述在定时脚本运行过程中,发现当备份表格的sql语句与删除该表部分数据的sql语句同时运行时,mysql会检测出死锁,并打印出日志。两
- 本文实例讲述了Python学习笔记之迭代器和生成器用法。分享给大家供大家参考,具体如下:迭代器和生成器迭代器每次可以返回一个对象元素的对象,
- 一、函数概述简单来说 函数 就是自己定义的一段 小程序 方便自己调取使用def 用来定义函数的关键字 也就是这个函数的名字函数运行到retu
- 对于xml2ddl项目,Freshmeat.org提供了一整套基于GNU或者GPL通用公共许可证下的Python程序。在一个运行的Pytho
- 开发应用程序时,若只有一个窗口则只需关心这个窗口里面的各控件之间如何传递数据。如果程序有多个窗口,就要关心不同的窗口之间是如何传递数据。单一
- 在处理Python代码字符串的时候,我们常会遇到要去除空格的情况,所以就总结了多种方法供大家参考。1、strip()方法去除字符串开头或者结