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

2022-10-04 21:00:44 字數 1103 閱讀 8978

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

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

1、 func(*args) 

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

def func(*args):

print args

>>> func(1,2,3)

(1, 2, 3)

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

傳入(1, 2, 3)

2、func( **kwargs)

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

def func(**kwargs):

print kwargs

>>> func(a = 1www.cppcns.com,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: no程式設計客棧n-keyword arg after keyword arg

本文標題: 詳解python函式可變引數定義及其引數傳遞方式

本文位址: /jiaoben/python/198473.html

Python 函式 可變引數

有些時候我們可能遇到引數的個數並不固定的情況,比如1 2 3 n 函式定義如下 def calc numbers sum 0 for n in numbers sum sum n n return sum上面這種情況只能傳乙個引數,而且引數一般是list或tuple,呼叫方式 calc 1,3,5 ...

Python函式的可變引數

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

Python常用函式 可變引數

剛學python的時候,特別是看一些庫的原始碼時,經常會看到func args,kwargs 這樣的函式定義,這個和讓人有點費解。有時你可能想定義的函式裡面能夠有任意數量的變數,也就是引數數量是可變的,這可以通過使用星號來實現 將下方案例儲存為 function varargs.py def tot...