1. 程式人生 > >python中*args **kwargs

python中*args **kwargs

可變 code 中秋節 由於 ref 方法 函數 inf pytho

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

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

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

嗯,就是這樣,我真是太TM機智了。技術分享圖片

正文:

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

一、*args的使用方法

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

例子一:

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

function(1)

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

技術分享圖片

例子二:

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

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

輸出結果:

技術分享圖片

二、**kwargs的使用方法

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

例子一:

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

function(a=2)

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

技術分享圖片

例子二:

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

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

輸出結果:

技術分享圖片

註意點:參數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)

輸出結果:

技術分享圖片

哎呀,寫完了。

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

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

python中*args **kwargs