我想编写一个代码来检查字典中的键,如果存在则将其设置为函数作为参数。def myFunction(*args, **kwargs): # do stuffs if('name' in kwargs): thisTitle = kwargs.pop('name') print(thisTitle) ... return thisTitlet = {}if 'name' in t.keys() and 'param1' in t.keys() and 'param2' in t.keys(): res = myFunction(name = t['name'], myparam1 = t['param1'], secondPar = t['param2'])elif 'name' in t.keys() and 'param1' in t.keys(): res = myFunction(name=t['name'], myparam1=t[param1])elif 'name' in t.keys(): res = myFunction(name=t['name'])如果我有 10 个参数怎么办?一定会有更好的办法。
2 回答
芜湖不芜
TA贡献1796条经验 获得超7个赞
我还建议使用default
论点 onpop
而不是检查是否存在:thisTitle = kwargs.pop('name', default)
; 所以你不要同时做 ain
和 a pop
。
if('name' in kwargs): thisTitle = kwargs.pop('name')
变成:
thisTitle = kwargs.pop('name', None)
除非从字典中删除键是必需的效果,否则使用get
而不是更好pop
:
thisTitle = kwargs.get('name', None)
当未提供关键字参数时,您的函数将返回None
而不是生成 a 。NameError
name
添加回答
举报
0/150
提交
取消