问题:
如何在函数的外部获取到一个函数的命名空间呢? python有提供这个机制吗
如:
# coding: utf8
from functools import wraps
def test_wrapper(func):
@
wraps(func)
def wrapper(*args, **kwargs):
# get func namespace
# namespace = {'u': 1} 怎么取到这个
print args
print kwargs
return func(*args, **kwargs)
return wrapper
@
test_wrapperdef test(u):
print 'I am test \n'
if __name__ == '__main__':
test(1) # 非关键字调用 只能传到args中, 怎么取到字典的形式呢
test(u=12) # 这样调用可以在kwargs中取到
输出:
(1,)
{}
I am test
()
{'u': 12}
I am test
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/89115
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.