日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python关键字参数必须位于位置参数之前_python函数中的参数(关键字参数,默认参数,位置参数,不定长参数)...

發布時間:2024/3/13 python 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python关键字参数必须位于位置参数之前_python函数中的参数(关键字参数,默认参数,位置参数,不定长参数)... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

默認參數:定義函數的時候給定變量一個默認值。  def num(age=1):

位置參數:調用函數的時候根據定義函數時的形參位置和實參位置進行引用。

關鍵字參數:如果定義的函數中含有關鍵字參數,調用函數時必須要傳如該關鍵字對應的實參。

不定長參數:在定義函數的時候不確定傳入的參數的數量(可能是0個或多個)  def num(*args,**args):? (不定長參數的標志符號是*和**,args和kwargs只是變量的名字,可以改為任意的變量如(*num,**kwnum))

*+變量名1,可以接受被其他參數接受后剩下的任意的形參(不包括賦值語句),放進一個元組里,這個元組的名字是前面的變量名1(所以位置參數必須在此參數之前)

**+變量名2,可以接受被其他參數接受后剩下的任意賦值語句,放進一個字典中,這個字典的名字是前面的變量名2(所以關鍵字參數和默認參數必須在此參數之前,*+變量名也要在此參數之前)

測試上面的總結是否正確

def num_0(a,b,c,*args,city='beijing',name,**kwnum):

print(a,b,c,name,city,args,kwnum) # 輸出的時候直接用*或者** 的變量名

num_0(1,2,3,4,5,6,7,city='hangzhou',name='jack',age=18,country='haidian')

#結果

D:\pycharm_project\裝飾器\venv\Scripts\python.exe D:/pycharm_project/裝飾器/venv/text.py

1 2 3 jack hangzhou (4, 5, 6, 7) {'age': 18, 'country': 'haidian'}

Process finished with exit code 0

最后總結

調用函數傳遞實參的時候,先傳變量/定量,再傳賦值語句(num_0(1,2,3,4,5,6,7,city='hangzhou',name='jack',age=18,country='haidian'))

定義函數的時候直接按此順序定義形參(def num_0(a,b,c,*args,city='beijing',name,**kwnum):)(位置參數,*變量名,默認參數,關鍵字參數,**變量名)

接下來討論一下不定長參數中的 * 和 ** 還有什么用處

1,當在函數的形參中使用時(和上面的例子相同)

*t:將所有的其他位置的實參(變量/定量)獲取,并將它們打包到元祖中,并賦值給此形參

def foo(*t):print(t)

foo(1,2,3)

(1,2,3)

**t:將所有的其他位置的實參(賦值語句)獲取,并將它們打包到字典中,并賦值給此參數

def foo(**t):print(t)

foo(a=1,b=2)

{'x': 1, 'y': 2}

2,當在調用函數的時候使用(實參中)

*tuple_a:將此元祖的元素,當做函數調用的位置參數

deffoo(a,b):print(a,b)

tuple_a= (1,2)

foo(*tuple_a)

1,2

**dict_a:將字典中的鍵值對,當做函數調用的關鍵字參數

deffoo(x, y):print(x, y)

dict_a= {'x':1, 'y':2}

foo(**dict_a)

1,2

3,在匹配和for循環中

*x意味著‘匹配多余的元素’,x是一個列表

>>>x, *xs = (1, 2, 3, 4)

>>>xs

[2, 3, 4]

>>>x,*xs = [1, 2, 3, 4]

>>>xs

[2, 3, 4]

>>> *xs, x =(1, 2, 3, 4)

>>>xs

[1, 2, 3]

>>>x

4>>>x, *xs, y =(1, 2, 3, 4)

>>>x

1>>>xs

[2, 3]

>>>y

4

for (x, *y, z) in [ (1, 2, 3, 4) ]: print(x, y, z)1 [2, 3] 4

4,可以用于合并字典

dict_a = {'a':1,'b':2}

dict_b= {'b':3,'c':4}

dict_c= {**dict_a,**dict_b}print(dict_c)

{'a': 1, 'b': 3, 'c': 4}

*t表示“獲取此函數的所有其他位置參數,并將它們作為元組打包到此參數中

總結

以上是生活随笔為你收集整理的python关键字参数必须位于位置参数之前_python函数中的参数(关键字参数,默认参数,位置参数,不定长参数)...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。