首页 > 编程语言 > 详细

[转]Python中的getattr()函数详解

时间:2015-04-16 19:46:57      阅读:297      评论:0      收藏:0      [点我收藏+]

getattr(object, name[, default]) -> value 

Get a named attribute from an object; getattr(x, ‘y‘) is equivalent to x.y.  
When a default argument is given, it is returned when the attribute doesn‘t  
exist; without it, an exception is raised in that case.

解释的很抽象 告诉我这个函数的作用相当于是

object.name

试了一下getattr(object,name)确实和object.name是一样的功能.只不过这里可以把name作为一个变量去处理

书上的例子很好的说明了这个函数的功用

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

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

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

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

 


 

Reference Link: http://www.cnblogs.com/pylemon/archive/2011/06/09/2076862.html

 

[转]Python中的getattr()函数详解

原文:http://www.cnblogs.com/Chrisp/p/4432939.html

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