Python中 *args 和 **kwargs 的含義?


答:在python中,*args和**kwargs通常使用在函數定義里。*args 和 **kwargs 都允許你給函數傳不定數量的參數,即使在定義函數的時候不知道調用者會傳遞幾個參數。ps: *args和**kwargs只是一個大家都遵守的習慣,名字可以任意寫的 。

 

1. *args例子

*args能夠接收不定量的非關鍵字參數,會把位置參數轉化為tuple(非鍵值對的參數組),例子如下面代碼所示:

 
        
def func(*args):
    for i in args:
        print(i)
func(1,2,3,4)

運行結果:
1
2
3
4

2.**kwargs 例子

**kwargs允許你傳遞不定量個關鍵字參數。如果你需要在函數中定義不定量個命名參數,那么你就要使用**kwargs了,它會把關鍵字參數轉化為dict(鍵值對參數組),例子如下面代碼所示:

 

def func(**kwargs):
    for i in kwargs:
        print(i,kwargs[i])
func(a=1,b=2,c=3,d=4)

運行結果:
a 1
b 2
c 3
d 4

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM