99l*_*ves 4 python parameters dictionary
我知道人们通常会用 给函数赋予任意数量的 kwargs **kwargs,然后将它们作为字典访问;但是,我想显式指定我的函数 kwargs,但仍然能够将它们作为字典访问。
这是因为我希望我的函数仅接收特定的kwargs,但我需要对所有这些函数执行相同的操作,我可以将其放入循环中for。
def my_func(kwarg1=None, kwarg2=None, kwarg3=None):
kwargs = {} # After somehow getting all my kwargs into a dictionary
for k in kwargs:
# Do my operation
Run Code Online (Sandbox Code Playgroud)
我不希望我的函数接收任意数量的kwargs,但我确实kwargs想在字典中访问 my 。
locals假设你没有位置参数,如果你把它放在函数的顶部,你可以通过以下方式访问你的 kwargs :
def my_func(kwarg1=None, kwarg2=None, kwarg3=None):
# Don't add any more variables before the next line!
kwargs = dict(locals())
for k in kwargs:
# Do my operation
Run Code Online (Sandbox Code Playgroud)
这很hacky(充其量是),最好将其拼写出来:
kwargs = {'kwarg1': kwarg1, ...}
Run Code Online (Sandbox Code Playgroud)