getattr()函数是Python自省的核心函数,具体使用大体如下:

10.1.5    获取对象引用getattr

Getattr用于返回一个对象属性,或者方法

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

注:使用getattr可以轻松实现工厂模式。

例:一个模块支持html、text、xml等格式的打印,根据传入的formate参数的不同,调用不同的函数实现几种格式的输出

import statsout

def output(data, format="text"):

output_function = getattr(statsout, "output_%s" % format)

return output_function(data)

分享到:

2009-04-20 15:24

浏览 9170

评论

1 楼

newlifewant

2012-09-18

python getattr调用自己模块_Python的getattr()相关推荐

  1. python getattr调用自己模块_python getattr调用自己模块_Python的getattr()

    getattr()函数是Python自省的核心函数,具体使用大体如下: 10.1.5    获取对象引用getattr Getattr用于返回一个对象属性,或者方法 class A: def __in ...

  2. python动态调用自定义模块_python importlib动态导入模块 reload重载模块

    阅读目录 一般而言,当我们需要某些功能的模块时(无论是内置模块或自定义功能的模块),可以通过import module 或者 from * import module的方式导入,这属于静态导入,很容易 ...

  3. python中调用什么模块的什么函数来实现求实数平方根_python语言基础与应用答案...

    python语言基础与应用答案 python3不再区分整数和长整数,统一为()类型. python可以使用(____)函数打开文件,这个函数默认的打开模式为(____). a=[3]alist=[1, ...

  4. python getattr调用自己模块_在Python中通过getattr获取对象引用的方法

    getattr函数 (1)使用 getattr 函数,可以得到一个直到运行时才知道名称的函数的引用. >>> li = ["Larry", "Curly ...

  5. python爬虫需要调用什么模块_python爬虫需要调用什么模块

    python 爬虫常用模块: Python标准库--urllib模块 功能:打开URL和http协议之类 注:python 3.x中urllib库和urilib2库合并成了urllib库. 其中url ...

  6. python中的系统模块_python中一些获取系统信息的模块

    1.platform模块 python中,platform模块给我们提供了很多方法去获取操作系统的信息 如: import platform platform.platform() #获取操作系统名称 ...

  7. python 怎么安装电脑摄像头模块_Python模块及安装

    Python模块及安装 09-Python模块及安装思维导图下载 1.模块的使用及安装 <1>Python中的模块 在Python中有一个概念叫做模块(module),这个和C语言中的头文 ...

  8. python性能分析工具模块_python——关于Python Profilers性能分析器

    1. 介绍性能分析器 profiler是一个程序,用来描述运行时的程序性能,并且从不同方面提供统计数据加以表述.Python中含有3个模块提供这样的功能,分别是cProfile, profile和ps ...

  9. 简述python常用的函数模块_Python学习笔记(十三)—函数常用模块

    一.模块.包的概念 模块就是一个包含所有你定义的函数和变量的文件,其后缀名是.py. 模块可以被别的程序引入,以使用该模块中的函数等功能.这也是使用 python 标准库的方法. 什么是包? 包,pa ...

最新文章

  1. Document 对象描述
  2. boost::iostreams::example::container_sink用法的测试程序
  3. Gh0st源码学习(一)前期准备工作
  4. angular8 rest_带有Angular JS的Java EE 7 – CRUD,REST,验证–第2部分
  5. Golang-import-introduce
  6. java 监听者模式有啥用,监听者模式在系统中的应用 —— 事件总线
  7. Intel Mac无法使用macOS Monterey系统部分新功能
  8. QQ空间 1314学习网的日志 神奇的图片
  9. 要打仗,你手里先得有张地图:数据治理之元数据管理
  10. arcgis拼接影像
  11. 微博如何做到1小时增加一千台服务器应对鹿晗恋情带来的流量暴增
  12. APP创意IDEA记录
  13. el-upload编辑时回显图片
  14. 着眼未来 巅峰对决 | “智算之道—2020人工智能应用挑战赛”圆满收官!
  15. GIMP 快速入门(2)
  16. form 表单 onsubmit 属性
  17. 2021全国大学生数学建模竞赛B题思路
  18. jQuery中的Ajax (六个Ajax的操作方法) 细解!!!
  19. android:浏览器添加书签
  20. Visual Studio 2010 下载地址 V10各种版本官方下载网址

热门文章

  1. c语言float怎么表示,c语言中float是如何表示的
  2. C++中STL各个迭代器详解
  3. C语言程序care用法,care的用法和例句,包括care常用短语解释和词组意思翻译,同义词,反义词【澳典网ODict.Net】...
  4. 服务器 Unbuntu重启后,nvidia-smi 不能使用
  5. 高中老班(班主任)的经典语录
  6. 基于exoplayer播放器的高斯模糊视频滤镜,整合aar文件,给伸手党
  7. 妈妈买了水果去感谢吴吴老师
  8. cesium根据高程点实现简易地下水水流分析
  9. 二进制原码反码补码详解
  10. 一个人总结的java编程经验汇总