码迷,mamicode.com
首页 > 编程语言 > 详细

python getattr()

时间:2014-06-15 00:26:18      阅读:487      评论:0      收藏:0      [点我收藏+]

标签:class   blog   code   http   ext   com   

About getattr

Python’s getattr function is used to fetch an attribute from an object, using a string object instead of an identifier to identify the attribute. In other words, the following two statements are equivalent:

value = obj.attribute
value = getattr(obj, "attribute")

If the attribute exists, the corresponding value is returned. If the attribute does not exist, you get an AttributeError exception instead.

这个函数的作用相当于是object.name

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

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

1
2
3
4
import statsout 
def output(data, format="text"):                           
    output_function = getattr(statsout, "output_%s" %format
    return output_function(data)

这个例子中可以根据传入output函数的format参数的不同 去调用statsout模块不同的方法(用格式化字符串实现output_%s)

返回的是这个方法的对象 就可以直接使用了 如果要添加新的格式 只需要在模块中写入新的方法函数 在调用output函数时使用新的参数就可以使用不同的格式输出

参考:http://www.cnblogs.com/pylemon/archive/2011/06/09/2076862.html

python getattr(),布布扣,bubuko.com

python getattr()

标签:class   blog   code   http   ext   com   

原文地址:http://www.cnblogs.com/yongpan666/p/3786107.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!