先看代码:

>>> class myClass:
    def hello_1(self):
        return 'hello_1'
    def hello_2(self):
        return 'hello_2'

>>> def main(index):
    hello = getattr(myClass(),'hello_%s'%index,myClass().hello_1)
    restr = hello()
    print restr

>>> main(1)
hello_1
>>> main(2)
hello_2
>>> main(3)
hello_1
>>>

重要的是getattr函数,它接受三个参数,第一个为模块,第二个为字符串,第三个参数为模板的属性或方法

getattr函数是这样工作的,在模块中查找是否有包括第二个参数的属性或方法,如果有,则返回找到的这个属性或方法名,如果没有则返回第三个参数的属性或方法,第三个参数是以默认值的方式存在的。

转载于:https://www.cnblogs.com/uwebs/archive/2009/04/27/1444465.html

python之旅(六) - 自省相关推荐

  1. python之旅六【第六篇】模块

    json和pickle 用于序列化的两个模块 json,用于字符串 和 python数据类型间进行转换 pickle,用于python特有的类型 和 python的数据类型间进行转换 json模块提供 ...

  2. Python爬虫实战六之抓取爱问知识人问题并保存至数据库

    大家好,本次为大家带来的是抓取爱问知识人的问题并将问题和答案保存到数据库的方法,涉及的内容包括: Urllib的用法及异常处理 Beautiful Soup的简单应用 MySQLdb的基础用法 正则表 ...

  3. 《Head First Python》第六章--定制数据对象

    先上数据集:Head First Python 数据集 第六章的数据在第五章的基础上加了两个属性:姓名和出生日期 james2.txt James Lee,2002-3-14,2-34,3:21,2. ...

  4. Python 爬虫十六式 - 第六式:JQuery的假兄弟-pyquery

    PyQuery:一个类似jquery的python库 学习一时爽,一直学习一直爽   Hello,大家好,我是 Connor,一个从无到有的技术小白.上一次我们说到了 BeautifulSoup 美味 ...

  5. Python基础(六)--类与对象

    目录 Python基础(六)--类与对象 1 类与对象的基本概念 1.1 什么是对象 1.2 什么是类 1.3 类与对象的关系 2 定义与初始化 2.1 类的定义 2.2 对象的初始化 2.3 动态增 ...

  6. HALCON学习之旅(六)

    HALCON学习之旅(六) 文章目录 HALCON学习之旅(六) 1.Halcon代码如何导出高级编程语言代码 + 配置Halcon/C++编程环境 2.Halcon连续采集相机图像 3.Halcon ...

  7. Python爬虫入门六之Cookie的使用

    大家好哈,上一节我们研究了一下爬虫的异常处理问题,那么接下来我们一起来看一下Cookie的使用. 为什么要使用Cookie呢? Cookie,指某些网站为了辨别用户身份.进行session跟踪而储存在 ...

  8. python接口自动化测试六:时间戳,防重复处理

    python接口自动化测试六:时间戳,防重复处理 对于不可重复参数,可以用时间戳,防重复 import time title = '这是我的标题:%s'%str(int(time.time())) p ...

  9. Python爬虫十六式 - 第三式:Requests的用法

    Requests: 让 HTTP 服务人类 学习一时爽,一直学习一直爽   Hello,大家好,我是Connor,一个从无到有的技术小白.今天我们继续来说我们的 Python 爬虫,上一次我们说到了 ...

最新文章

  1. 聊聊spring cloud gateway的GlobalFilter
  2. java性能调优03
  3. 带来高收入的三大竞争力技巧,可以涨到40W了!
  4. 机器学习(MACHINE LEARNING) 【周志华版-”西瓜书“-笔记】 DAY9-聚类
  5. java 令牌解析_Java编程guava RateLimiter实例解析
  6. CTF——angr使用学习记录
  7. C++ code:数值计算之矩形法求解积分问题
  8. java读取文件指定位置_Java读取指定路径下的文件列表
  9. go 打印 %v %+v %#v 的区别
  10. 《大数据》2015年第2期“专题”——关于大数据交易核心法律问题 —— 数据所有权的探讨及建议...
  11. 7.Python学习笔记:[字典]
  12. 分布式session的6种解决方案
  13. linux awk,sort,uniq,wc,cut命令详解
  14. 我设计了一个支撑数亿用户的系统
  15. raw,qcow2虚拟磁盘挂载
  16. IPC进程间通信/跨进程通信
  17. ar5b97无线网卡驱动linux 版下载,atheros ar5b97驱动
  18. 华为AC6605二层组网,配置无线漫游
  19. 运算放大器介绍与应用电路(LM358)
  20. CSDN博客写作方法

热门文章

  1. QML和C++混合编程--(二)
  2. css 语音,用css完成语音助手小动画
  3. 如何快速切换静态和动态ip
  4. 试卷批分pascal程序
  5. AtCoder AGC024F Simple Subsequence Problem (字符串、DP)
  6. HDU 6071 Lazy Running (最短路)
  7. linux支持表情的字体,让应用程序支持emoji字符
  8. JAVA返回指定字符串的长度,Java截取指定字节长度的字符串
  9. python开发是不是苦累_Python 2.7 辛苦了,你好Python 3.7
  10. 埃夫特机器人回零偏差太大_新松、华中数控、埃斯顿、埃夫特国内主流机器人厂商近年最新动态...