Python 函式引數的傳遞方式

2021-09-30 13:31:31 字數 1762 閱讀 7221

引數的型別

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記憶體...

函式引數傳遞的方式

按值傳遞 主調函式向呼叫函式傳遞引數實際上只是將實參的拷貝 即臨時副本 傳遞給了被呼叫函式,並不是實參本身,這樣被調函式不能直接修改主調函式中變數的值,而只能修改其私有的臨時副本的值。引用傳遞 對引用的操作等於對其指定的物件進行操作,當將實參傳遞給形參時,形參就指向了實參 指標傳遞 形參為指向實參位...