python中的函數,大多需要配置參數,以下是幾種函數的參數類型:
創新互聯專注于企業成都全網營銷推廣、網站重做改版、威海網站定制設計、自適應品牌網站建設、HTML5建站、商城網站定制開發、集團公司官網建設、成都外貿網站制作、高端網站制作、響應式網頁設計等建站業務,價格優惠性價比高,為威海等各大城市提供網站開發制作服務。
1.必備參數:以正確的順序、個數傳入函數。調用時的參數情況要和聲明時一樣。最常用的情況。
def tplink(a,b):
c=a+b+b
return c?
tplink(4,2)
2.關鍵字參數:使用關鍵字參數允許函數調用時參數的順序和聲明時不一致,因為python解析器會在調用函數時,用參數名匹配參數值。
def tplink(age1,age2):
ageall=age1+age2+age2
return ageall
tplink(age2=4,age1=2)
3.默認參數:默認某個參數的取值
def tplink(age1,age2=5):
ageall=age1+age2+age2
return ageall
tplink(age1=4)
4.不定長參數:在聲明時并不確定 調用時的參數數量。這種情況,可以用不定長參數進行解決,具體操作是在參數名前用*。
但不能和 關鍵字參數并用。一般在正常參數arg之后。
*args、**kwargs的定義:
這兩個都是python中的不定長參數,又稱為可變參數。
*args 表示任何多個無名參數,它是一個 tuple ;
**kwargs 表示關鍵字參數,它是一個dict。
同時使用 * args和 ** kwargs 時,必須 * args參數列要在 ** kwargs前。且都在arg之后。
函數在調用時,會根據順序,看是否放進 *args 或者 **kwargs中。
具體可根據實際情況使用,可以 更方便靈活的接收信息。
位置參數適合參數少的情況,當參數較多時,位置容易存錯。
關鍵詞參數適合參數較多時,通過指定關鍵詞來存。
混搭時應注意先放位置參數后放關鍵詞參數,否則會出現語法錯誤。語法上允許混搭,但盡量不要采用。
d在*的前面,可以作為位置參數,不用指定關鍵詞,*后面必須指定關鍵詞,可以混搭。
一旦設置默認值,可以不傳它;但也可以繼續傳入,傳了多少就是多少。默認參數需要注意,現房非默認參數再放默認參數。
當參數是多個時,可以在變量前面加*,表示零到無窮多個位置參數,傳入的參數會被合并為一個元組,若需要破開元組,只需要在元組前面加上*。注意要先固定參數再可變參數。
在變量前加**,表示可變參數是關鍵詞參數,在調用時必須用鍵值對來調用。
順序必須是:必選參數、默認參數、可變位置參數、命名關鍵字參數和可變關鍵字參數。
/ 前面一定為位置參數
文章知識點與官方知識檔案匹配,可進一步學習相關知識!!!
對于python函數參數,對于初學者可能就是進入了迷宮,盡管我也是初學者,簡單總結一下。
說參數之前,先講一下兩個packing(包裹)和unpacking(解包裹):
輸出:
我總結不了這個概念,只能幫大家到這了
一、位置參數和關鍵字參數:
調用函數時根據函數定義的參數位置來傳遞參數。
注意:
有位置參數時,位置參數必須在關鍵字參數的前面,但關鍵字參數之間不存在先后順序的
二、默認參數:
用于定義函數,為參數提供默認值,調用函數時可傳可不傳該默認參數的值(注意:所有位置參數必須出現在默認參數前,包括函數定義和調用)
三、可變參數:
定義函數時,有時候我們不確定調用的時候會傳遞多少個參數(不傳參也可以)。此時,可用包裹(packing)位置參數,或者包裹關鍵字參數,來進行參數傳遞,會顯得非常方便。
1、包裹位置傳遞
我們傳進的所有參數都會被args變量收集,它會根據傳進參數的位置合并為一個元組(tuple),args是元組類型,這就是包位置傳遞。
2、包裹關鍵字傳遞
kargs是一個字典(dict),收集所有關鍵字參數
四、解包裹參數:
*args 和 **kargs ,也可以在函數調用的時候使用,稱之為解包(unpacking)
1、在傳遞元組時,讓元組的每一個元素對應一個位置參數
2、在傳遞詞典字典時,讓詞典的每個鍵值對作為一個關鍵字參數傳遞給函數
五、位置參數、默認參數、可變參數的混合使用
1、基本原則是:先位置參數,默認參數,包裹位置,包裹關鍵字(定義和調用都應遵循)
2、Python中 *args 和 **kwargs 的區別
先看個demo:
輸出結果:
分析一下:可以看到,這兩個是[Python]中的可變參數。 *args 表示任何多個無名參數,它是一個tuple; **kwargs 表示關鍵字參數,它是一個dict。并且同時使用 *args 和 **kwargs 時,必須 *args 參數列要在 **kwargs 前,否則會報語法錯誤!!!
還有個小應用場景:創建字典
其實python中就帶有dict類,使用dict(a=1,b=2,c=3)即可創建一個字典了。
*args:
重點在*,后面的args相當于一個變量名,可以自己定義的。它的本質就是將標準調用剩下的值集中轉變為元組。
從形參的角度:
從實參的角度:
從不同角度看**kwargs:
**kwargs與位置參數和默認參數混用:
超復雜混合參數混用記:
總結:
位置參數:
調用函數時所傳參數的位置必須與定義函數時參數的位置相同
關鍵字參數:
使用關鍵字參數會指定參數值賦給哪個形參,調用時所傳參數的位置可以任意
*位置參數:可接受任意數量的位置參數(元組);只能作為最后一個位置參數出現,其后參數均為關鍵字參數
**關鍵字參數:可接受任意數量的關鍵字參數(字典);只能作為最后一個參數出現
分享名稱:Python函數參數判斷 python判斷參數個數
新聞來源:http://vcdvsql.cn/article12/hehhdc.html
成都網站建設公司_創新互聯,為您提供電子商務、微信小程序、營銷型網站建設、Google、建站公司、用戶體驗
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯