首页 > 编程语言 > 详细

python getattr()

时间:2014-06-15 00:25:48      阅读:595      评论:0      收藏:0      [点我收藏+]

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()

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!