python中函式引數傳遞 和 使用

2021-06-19 23:06:31 字數 1658 閱讀 8375

在python使用函式,或公用引數傳遞,%使用會較方便,類似於c/c++中printf()格式顯示: 如,

格式1:cmd="%s,%s..."%(x0,x1,x2....) #對應%s,在%()中賦予引數值

格式2:函式引數傳遞4種fun(x,y),fun(x,y=2),fun(*a),fun(**b)

1.def fun(x,y):

print x,y

呼叫該函式,根據引數個數,否則會報錯fun(1,2,3):fun(1,2),x=1,y=2,既可以列印

2.def fun(x,y=2):#定義個預設值

print x,y

該函式給予了y乙個初始值,fun(1,3),fun(1)可以呼叫,但是,fun(1,2,3),出錯,因超出給定引數個數,

3.def fun(*args): 

if len(args)==0:

print 'none'

else:

print args

>>> fun()

none

>>> fun(1,2,3)

(1, 2, 3)

>>> fun(a=1,b=2) #列表呼叫,錯誤如下:

traceback (most recent call last):

file "", line 1, in

typeerror: fun() got an unexpected keyword argument 'a'

>>>>*args,1個*號函式,僅能是元組呼叫該函式;<<<<<

4.def fun(**args):

if len(args)==0:

print 'none'

else:

print args

>>> fun() #空調用

none

>>> fun(a=1,b=2) #列表(list)呼叫

#字典方式顯示

>>> fun(1,2) #元組呼叫,錯誤如下:

traceback (most recent call last):

file "", line 1, in

typeerror: fun() takes exactly 0 arguments (2 given)

>>>>>**args,2個*號函式引數,只能list方式呼叫,<<<<<<

上述引數執行優先順序:1=>2=>3=>4,依次減低 如:

def test(x,y=1,*a,**b):

print x,y,a,b

>>> test(1)

1 1 () {}

>>> test(1,2)

1 2 () {}

>>> test(1,2,3)

1 2 (3,) {}

>>> test(x=1,y=2)

1 2 () {}

>>> test(1,a=2)

1 1 ()

>>> test(1,2,3,a=4)

1 2 (3,)

>>> test(1,2,3,y=4)

traceback (most recent call last):

file "", line 1, in

typeerror: test() got multiple values for keyword argument 'y'

Python中函式引數的傳遞

python中函式引數的傳遞是通過 賦值 來傳遞的。但這條規則只回答了函式引數傳遞的 戰略問題 並沒有回答 戰術問題 也就說沒有回答怎麼賦值的問題。函式引數的使用可以分為兩個方面,一是函式引數如何定義,二是函式在呼叫時的引數如何解析的。而後者又是由前者決定的。函式引數的定義有四種形式 1.f arg...

python中函式引數的傳遞

實際引數按照前後順序依次賦值給形式引數。def party area,person print 晚上聚會 print 地點 area print 參與人員 person print 有了酒,就有了故事.party 皇家一號 全體人員 函式宣告定義時,可以給某個引數設定預設資料,在呼叫執行時 有預設資...

Python函式中的引數傳遞

函式的引數 1 函式的引數是可選的 2 函式需要處理的資料應該通過引數來傳遞 3 函式名後面括號裡的引數被稱為形參,由於它不是實際存在的引數所以又稱虛擬引數 4 呼叫函式時後面括號裡的引數稱為實參 def create fib n fib list 0 1 for i in range n 2 re...