引數的型別
python函式的不定引數主要有三種方式:
傳入的引數將以元組形式存放在args中。
1、傳入引數(1, 2, 3)
def
func
(*args):
print args
func(1,2,3)
輸出:
(1,2,3)
2、直接將乙個列表的所有元素當作不定引數傳入(1, 2, 3)
def
func
(*args):
print args
func(*[1,2,3])
輸出:
(1,2,3)
傳入的引數為以字典形式存在args中。
1、按規則傳入引數
def
func
(**kwargs):
print kwargs
func(a = 1, b = 2, c = 3)
輸出:
2、直接將乙個字典的所有鍵值對當作關鍵字引數傳入
def
func
(**kwargs):
print kwargs
func(**)
輸出:
傳入的順序必須和定義順序相同,第乙個是:不定引數列表,第二個是:關鍵字引數字典。
1、 傳入不定引數列表
def
func
(*args, **kwargs):
print args
print kwargs
func(1,2,3)
func(*[1,2,3])
輸出:
(1, 2, 3)
{}(1, 2, 3)
{}
2、傳入關鍵字引數字典
def
func
(*args, **kwargs):
print args
print kwargs
func(a = 1, b = 2, c = 3)
func(**)
輸出:
()
()
3、兩種引數同時傳入
def
func
(*args, **kwargs):
print args
print kwargs
func(1,2,3, a = 4, b=5, c=6)
輸出:
(1, 2, 3)
4、錯誤的傳引數
def
func
(*args, **kwargs):
print args
print kwargs
func(1,2,3, a=4, b=5, c=6, 7)
輸出:
syntaxerror: non-keyword arg after keyword arg
Python 函式引數傳遞方式
引數 自變數 在python裡都是按引用傳遞,也就是傳遞的是變數位址,變數就是位址,沒有型別,而關聯的物件是有型別的 但是對於不可變變數,在函式內修改會申請新的記憶體空間,所以對外層函式沒有影響,對於list變數,相當於操作同一塊記憶體,則會影響外層函式。usr bin python 可寫函式說明 ...
Python函式的引數數傳遞方式
在python中,引數的傳遞方式有兩種def fun data data 0 2 print data 2,2,3,4 print id data data1 1,2,3,4 fun data1 2,2,3,4 print id data1 輸出結果 2,2,3,4 18026632 data記憶體...
函式引數傳遞的方式
按值傳遞 主調函式向呼叫函式傳遞引數實際上只是將實參的拷貝 即臨時副本 傳遞給了被呼叫函式,並不是實參本身,這樣被調函式不能直接修改主調函式中變數的值,而只能修改其私有的臨時副本的值。引用傳遞 對引用的操作等於對其指定的物件進行操作,當將實參傳遞給形參時,形參就指向了實參 指標傳遞 形參為指向實參位...