當(dāng)我們在寫程序時,不確定將來要往函數(shù)中傳入多少個參數(shù)熏挎,即可使用可變參數(shù)(即不定長參數(shù))速勇,用*args,**kwargs表示。
*args稱之為Non-keyword Variable Arguments坎拐,無關(guān)鍵字參數(shù)烦磁;
**kwargs稱之為keyword Variable Arguments,有關(guān)鍵字參數(shù)哼勇;
當(dāng)函數(shù)中以列表或者元組的形式傳參時都伪,就要使用*args;
當(dāng)傳入字典形式的參數(shù)時积担,就要使用**kwargs陨晶。
*args示例:
當(dāng)位置參數(shù)與不定長參數(shù)一起使用時,先把參數(shù)分配給位置參數(shù)再將多余的參數(shù)以元組形式分配給args:
**kwargs示例:
當(dāng)傳入函數(shù)的參數(shù)為字典格式時帝璧,使用**kwargs先誉。
除了上述傳參方式,還可以直接傳入整個字典: