Python函式可變引數定義及其引數傳遞方式詳解

2021-06-25 13:04:35 字數 1064 閱讀 4303

python函式可變引數定義及其引數傳遞方式詳解

python中 函式不定引數的定義形式如下 1、

func(*args)  

傳入的引數為以元組形式存在args中,如:

def func(*args):

print args

>>> func(1,2,3)

(1, 2, 3)

>>> func(*[1,2,3]) #這個方式可以直接將乙個列表的所有元素當作不定引數

傳入(1, 2, 3)

2、func( **kwargs)

傳入的引數為以字典形式存在args中,如:

def func(**kwargs):

print kwargs

>>> func(a = 1,b = 2, c = 3)

>>> func(**) #這個方式可以直接將乙個字典的所有鍵值對當作關鍵字引數傳入

3、也可以兩者混用

func(*args, **kwargs)

傳入的順序必須和定義順序相同,這裡是先不定引數列表,再是關鍵字引數字典,如:

def func(*args, **kwargs):

print args

print kwargs

>>> func(1,2,3)

(1, 2, 3)

{}>>> func(*[1,2,3])

(1, 2, 3)

{}>>> func(a = 1, b = 2, c = 3)

()>>> func(**)

()>>> func(1,2,3, a = 4, b=5, c=6)

(1, 2, 3)

#這樣跳躍傳遞是不行的

>>> func(1,2,3, a=4, b=5, c=6, 7)

syntaxerror: non-keyword arg after keyword arg

詳解Python函式可變引數定義及其引數傳遞方式

python函式可變引數定義及其引數傳遞方式詳解 python中 函式不定引數的定義形式如下 1 func args 傳入的引數為以元組形式存在args中,如 def func args print args func 1,2,3 1,2,3 程式設計客棧gt func 1,2,3 這個方式可以直接...

關於Python中的引數定義及可變引數

first,函式的定義 def function pass 這是沒有引數的函式,本函式啥也不幹。second,帶引數的函式 def function a,b print a print b 這是帶引數的函式,直接輸出傳入的引數。注意 這類形式,引數的順序及個數一定要與定義一致,否則會報錯。third...

Python中函式的引數定義和可變引數

剛學用python的時候,特別是看一些庫的原始碼時,經常會看到func args,kwargs 這樣的函式定義,這個 和 讓人有點費解。其實只要把函式引數定義搞清楚了,就不難理解了。先說說函式定義,我們都知道,下面的 定義了乙個函式funca def funca pass 顯然,函式funca沒有引...