python 在傳入字典參數到函數中時總是需要檢查鍵是否齊全,每次手工寫總是覺得太麻煩。
所以還是自己寫一個比較方便。
#Check if the incoming dictionary parameters are complete def check_keys(list, dic): if all(k in dic for k in list): return 1 else: return 0 def fun(**kwargs): if check_keys(['a', 'b', 'c'], kwargs): a = kwargs['a'] b = kwargs['b'] c = kwargs['c']
補充知識:Python之函數調用時,可變參數的傳遞(元組參數、字典參數各兩種用法)
0、元組參數用法1:解封元組,傳遞給位置參數
def printHello(user,age,address): print(user) print(age) print(address) printHello(*('wang yuan wai',30,'Beijing'))
1、元組參數用法2: 函數本身接受一個可變參數,未進行解封,而是直接將可變參數傳遞進來了
def printHello(*data): print(data) printHello(*('wang yuan wai',30,'Beijing'))
2、字典參數用法1:
def printHello(name,age,address): print(name) print(age) print(address) printHello(**{'name':'wp','age':30,'address':'Beijing'}) #調用函數時為解封,看原函數能否接受 printHello(name='wp',age=30,address='Beijing') #解封后的原型
3、字典參數用法2:接受一個可變參數,字典參數,函數本身接受一個字典參數,解封功能未啟用,直接通過字典參數傳遞進來
def printHello(**data): print(data) printHello(**{'name':'wp','age':30,'address':'Beijing'})
4、我的ddt模塊與csv模塊的結合,就是乾的這個……
[zmcjlove ] python3檢查字典傳入函數鍵是否齊全的實例已經有232次圍觀