在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...