[使用** kwargs编写函数时,语法变得不像没有语法那样清晰。例如
def func(x, y):
print(x + y)
将成为
def func(**kwargs):
print(kwargs["x"] + kwargs["y"])
是否有任何建议可以使呼叫kwargs更好,更干净?
建议使用Namespace
中的argparse
(在标准库中可用)并使用常规属性访问:
from argparse import Namespace
def somefunc(**kwargs):
kwargs = Namespace(**kwargs)
print(kwargs.foo)
print(kwargs.bar)
正在执行:
In [9]: somefunc(foo='hello', bar='world')
hello
world