Python的getattr()-2017年6月7日

【1】getattr()函数是Python自省的核心函数

【2】Python的自省:Python可以查看内存中以对象形式存储的函数或模块信息,同样也可以进行相关的操作。

【3】相关函数:getattr(),setattr(),delattr(),hasattr()

下面介绍getattr相关用法:Getattr用于返回一个对象属性,或者方法

通过一个demo可以直观看出:

class A:
    def __init__(self):
        self.a = ‘a‘
    def method(self):
        print "method print" 

a = A()
print getattr(a, ‘a‘, ‘default‘) #如果有属性a则打印a,否则打印default
print getattr(a, ‘b‘, ‘default‘) #如果有属性b则打印b,否则打印default
print getattr(a, ‘method‘, ‘default‘)
#如果有方法method,否则打印其地址,否则打印default
print getattr(a, ‘method‘, ‘default‘)()
#如果有方法method,运行函数并打印None否则打印default

输出

a

default

<bound method A.method of <__main__.A instance at 0x02CB7968>>

method print

None

时间: 2024-08-24 19:50:48

Python的getattr()-2017年6月7日的相关文章

python简明教程——2017年12月8日

昨晚开始看的,不懂怎么在windows上写,找了几个小时,总算解决了,把一些想写的写下来. 1.反斜线\可以在多个物理行中写一个逻辑行. 2.制表符(tab).空格可以用来缩进,但是空格适用性大.可以使用单个tab或2个或4个空格,只用一种,养成习惯,关键是制表符和空格不能混用 3编译型语言执行效率优于解释型,因为编译器在编译过程中会根据不同平台自动优化目标代码,且特点为1次编译,N次运行 4-25.5%2.25=-12*2.25+1.5,余数为1.5:25.5%2.25=11*2.25+0.7

2017年8月14日套题记录 | 普及组

写在前面 今天登洛谷发现离Noip剩下88天了??(虽然看起有点久),然后觉得似乎水了一个暑假什么也没做(虽然学了点数据结构和一些奇奇Gaygay的东西),于是打开题库发现去年Long Happy的集训套题我似乎没有提交过,那就一天一套题,顺便码个题解+心得(雾? T2.传作业 题目描述 某十三同学一日上学迟到,此时已经开始上早自习了,所以他只好请同学帮忙把作业传到组长那里.由于刚开学不久,某十三同学还没来得及认识所有同学,所以传作业时只好找熟悉的同学.已知某十三与组长之间有N个他熟悉的同学,并

老男孩教育每日一题-2017年5月9日-vim命令粘贴带#号或注释信息格式会出现混乱情况怎么办

1.题目 老男孩教育每日一题-2017年5月9日-vim编辑器使用知识点:vim命令粘贴带#号或注释信息格式会出现混乱情况,有什么方法进行解决?问题说明:每次复制代码时,如果代码里有 //或# 这样的注释就容易让格式乱掉,显示的内容不整齐,并不是所期望的显示格式. 2.参考答案 原因分析: 是由于vim编辑命令的自动缩进功能所影响,因此粘贴带注释的代码时可以取消自动缩进 问题解决: vim在粘贴代码时会自动缩进,把代码搞得一团糟糕,甚至可能因为某行的一个注释造成后面的代码全部被注释掉:最初的解决

老男孩教育每日一题-2017年5月4日-有一个oldboy.txt文件,把里面所有字母都转换成大写

老男孩教育每日一题-2017年5月4日-有一个oldboy.txt文件,把里面所有字母都转换成大写 文件内容如下: [[email protected] oldboy]# cat oldboy.txt  oldboy.blog.51cto.com www.oldboyedu.com 方法一:sed [[email protected] oldboy]# sed 's#[a-z]#\u&#g' oldboy.txt OLDBOY.BLOG.51CTO.COM WWW.OLDBOYEDU.COM 方

2017年4月25日上午

2017年4月25日上午想提高记忆单词的效率,所以自己想办法把英语单词的多种词意联系起来记忆,所以把之前背的单词再复习一遍.学习了南北桥芯片,为一块电脑主板,以CPU插座为北的话,靠近CPU插座的一个起连接作用的芯片称为"北桥芯片",英文名:North Bridge Chipset.北桥芯片就是主板上离CPU最近的芯片.

2017年3月30日上午学习日志

2017年3月30日上午复习了高等数学,学习高等数学教材书第二章第一节导数概念,并按照自己的思路记笔记,并背英语单词及其语法.

2017年3月14日下午日志

2017年3月14日下午复习了高等数学,观看了张宇高等数学第八讲教学视频线性代数部分的运算方法的方法,积累了更多学习技巧,对线性代数部分的行列式和矩阵的概念和性质有了了解,并做书上例题1.1-1.5,晚上背英语单词100个.

(X6支持https)2017年9月15日友价T5X6商城站长交易源码仿互站送手机版程序8套模版

(https专版)2017年9月15日友价T5X6商城站长交易源码仿互站送手机版程序8套模版 修复官方版本的各种问题,, 安装步骤,1.将源码上传到主机,2.专入数据库文件.依次导入codes_170915.sql codes_data.sql codes_data_city.sql后台用户名密码: admin admin123 友价源码 X620170915补丁(主要修复https SSL及兼容问题) 以下是本次补丁的升级内容: 1.修复https微信登录功能2.手机版SSL错误,兼容http

随笔:记2017年6月3日晚停电

2017年6月3日晚7时14分学校停电 瞬时万灯熄灭, 陷入黑暗中的我们却没有恐惧,只有惊喜与快乐. 多年后的我们经历停电,恐怕再也不会牵着同伴的手走在去厕所的路上,再也不会到处去借灯借蜡烛,再也不会在教室的角落和闺蜜聊悄悄话. 这是我们的高中生活,我们的青春. 孑然一身 行走在喧闹的人群里 荣获 满心喜悦 站在 三楼的机房窗边 远方的教学楼 星星点点 灯光 烛光 洒一地银河 就像 我们欢愉的青春 Sylvia 二零一七年六月三日