python之 * 與** 的區別


1.計算方面:*表示乘法

      **表示指數冪運算

2.作為函數的參數:

1)調用函數時
假設有函數 
def test(a, b, c)

test(*args):*表示傳入的參數args是一個元組,把元組中的每一個元素按照次序作為參數傳入,比如上面這個代碼,如果 args 等於 (1,2,3) ,那么這個代碼就等價於 test(1, 2, 3) 。

test(**args):** 表示傳入的參數args是一個字典,把字典中的每一個鍵值對作為參數傳入,比如上面這個代碼,如果 kwargs 等於 {‘a’:1,’b’:2,’c’:3} ,那這個代碼就等價於 test(a=1,b=2,c=3) 。

2)定義函數參數時

def test(*args): 
  定義函數參數時 * 的含義表示把傳進來的位置參數都裝在元組 args 里面。比如說上面這個函數,調用 test(1, 2, 3) 的話, args 的值就是 (1, 2, 3) 。:

def test(**kwargs): 
   ** 就是針對關鍵字參數和字典的了, 調用 test(a=1,b=2,c=3) 的話, kwargs 的值就是 {‘a’:1,’b’:2,’c’:3} 


免責聲明!

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



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