从python官方文档中,我看到了getattr()的正常表达式;在getattr()中有两个参数意味着什么?
GETATTR(对象,名称[,默认])
我理解它相当好。例如,我可以这样做:
>>> def a():
... pass
...
>>> c = 2
>>> getattr(a, 'b', c)
2
,但现在我看的代码,笔者使用类似的模式:
getattr(a, b.x)(b.y)
而且我甚至没有发现“B”'一个'物体!
这使我困惑不已,这段代码是什么意思?
附录1:
的GETATTR()是一个大量导入语句之间。 和原来的表达是这样的:
from tornado.options import define, options
import settings
getattr(settings, options.env)(options.server_name)
他是快捷方式,属性是一个函数,他用'by'调用它作为参数。请给我们更多的代码。 – msvalkon