下面的練習參考了
輸出如下:# -*- coding: utf8 -*-
# 可變引數練習
#*args是表示乙個不定長的序列
#**kwargs表示一組不定長度k=v的pair
def test1(first, *args, **kwargs):
print 'required argument: ', first
for v in args:
print 'optional argument: ', v
for k, v in kwargs.items():
print 'optional argument %s: %s' % (k, v)
#儘管下面的函式定義時給出的是四個必填引數,
#但是卻可以用可選引數的方式呼叫它
def test2(x1, x2, x3, x4):
print 'x1: ', x1
print 'x2: ', x2
print 'x3: ', x3
print 'x4: ', x4
if __name__=="__main__":
test1(1, 2, 3, 4, k1=5, k2=6)
print("*************************")
#以*args或者**kwargs呼叫乙個有多個必填引數函式時,
#給出的引數個數必須嚴格等於函式定義時的引數個數
args = [1, 2, 3, 10]
test2(*args)
kwargs =
test2(**kwargs)
Python可變引數
在python函式中,還可以定義可變引數。顧名思義,可變引數就是傳入的引數個數是可變的,可以是1個 2個到任意個,還可以是0個。以數學題為例子,給定一組數字a,b,c 請計算a2 b2 c2 要定義出這個函式,我們必須確定輸入的引數。由於引數個數不確定,我們首先想到可以把a,b,c 作為乙個list...
python 可變引數
1.args可以使用陣列和元組 2.kwargs可以使用字典作為引數def t args p,args 把陣列 元組作為引數傳遞給 args param p param args return print p for a in args print a deft kw p,kwargs 把字典作為可...
python的可變引數
剛學用python的時候,特別是看一些庫的原始碼時,經常會看到func args,kwargs 這樣的函式定義,這個 和 讓人有點費解。其實只要把函式引數定義搞清楚了,就不難理解了。先說說函式定義,我們都知道,下面的 定義了乙個函式funca def funca pass 顯然,函式funca沒有引...