我想編寫一個代碼來檢查字典中的鍵,如果存在則將其設置為函數作為參數。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
提交
取消