Python中*args和**kwargs的區別


(注:本文部分內容摘自互聯網,由於作者水平有限,不足之處,還望留言指正。)

        中秋的夜,微涼,但卻始終看不見月亮。

       我想,它一定是害羞了,悄悄的躲到了烏雲的后面。

       嗯,就是這樣,我真是太TM機智了。Be right back

       正文:

       注:《python核心編程第2版》的11.6可變長度的參數---章節中有詳細介紹。

一、*args的使用方法

      *args 用來將參數打包成tuple給函數體調用

      例子一:

def function(*args):
    print(args, type(args))

function(1)

      輸出結果以元組的形式展示:

                     image   

      例子二:

def function(x, y, *args):
    print(x, y, args)

function(1, 2, 3, 4, 5)

       輸出結果:

                     image

二、**kwargs的使用方法

      **kwargs 打包關鍵字參數成dict給函數體調用

      例子一:

def function(**kwargs):
    print( kwargs, type(kwargs))

function(a=2)

      輸出結果以列表形式展示:

                   image

     例子二:

def function(**kwargs):
    print(kwargs)

function(a=1, b=2, c=3)

    輸出結果:

                  image

 

    注意點:參數arg、*args、**kwargs三個參數的位置必須是一定的。必須是(arg,*args,**kwargs)這個順序,否則程序會報錯。

def function(arg,*args,**kwargs):
    print(arg,args,kwargs)

function(6,7,8,9,a=1, b=2, c=3)

    輸出結果:

                 image

    哎呀,寫完了。

    中秋節,多想,多想提一壺酒  約幾個老朋友  駕一葉小船兒,

    迷失在故鄉江南水鄉里。小舟盪清波,過萬水千山。


免責聲明!

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



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