文章来源:
http://wangtong40.iteye.com/blog/371124getattr()函数是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')
- print getattr(a, 'b', 'default')
- print getattr(a, 'method', 'default')
-
- print getattr(a, 'method', 'default')()
-
注:使用getattr可以轻松实现工厂模式。
例:一个模块支持html、text、xml等格式的打印,根据传入的formate参数的不同,调用不同的函数实现几种格式的输出
- import statsout
- def output(data, format="text"):
- output_function = getattr(statsout, "output_%s" % format)
- return output_function(data)
阅读(1708) | 评论(0) | 转发(0) |