python可變引數練習

2021-08-01 07:28:21 字數 912 閱讀 9208

下面的練習參考了

# -*- 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沒有引...