【发布时间】:2019-11-21 09:48:56
【问题描述】:
我正在阅读Python source codes,我在 Python-2.7.10/Lib/multiprocessing/managers.py 中找到了这段代码。
我只是想知道% (meth, meth) in dic这里有什么用,因为我认为%会先关联字符串,而exec总是返回None
def MakeProxyType(name, exposed, _cache={}):
'''
Return an proxy type whose methods are given by `exposed`
'''
exposed = tuple(exposed)
try:
return _cache[(name, exposed)]
except KeyError:
pass
dic = {}
for meth in exposed:
exec '''def %s(self, *args, **kwds):
return self._callmethod(%r, args, kwds)''' % (meth, meth) in dic
ProxyType = type(name, (BaseProxy,), dic)
ProxyType._exposed_ = exposed
_cache[(name, exposed)] = ProxyType
return ProxyType
【问题讨论】:
标签: python python-2.x