真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

python函數(shù)不定參數(shù)的傳遞方法-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務器提供商,新人活動買多久送多久,劃算不套路!

成都創(chuàng)新互聯(lián)自2013年創(chuàng)立以來,是專業(yè)互聯(lián)網技術服務公司,擁有項目成都網站設計、做網站網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元金灣做網站,已為上家服務,為金灣各地企業(yè)和個人服務,聯(lián)系電話:028-86922220

小編給大家分享一下python函數(shù)不定參數(shù)的傳遞方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

函數(shù)參數(shù)可為分如下幾種:必選參數(shù)、默認參數(shù)、可變參數(shù)、命名關鍵字參數(shù)和關鍵字參數(shù) 。

當我們在定義和調用一個函數(shù)時,如果包含所有的參數(shù)類型,則必須按照:必選參數(shù)、默認參數(shù)、可變參數(shù)、命名關鍵字參數(shù)和關鍵字參數(shù)的順序。但是在實際開發(fā)中,不建議包含過多的參數(shù)類型,會影響代碼的可讀性 。

必選參數(shù)很簡單,就是函數(shù)中必須要接受的參數(shù)。

默認參數(shù),即給參數(shù)賦一個默認值,我們在傳遞時,可省略對該參數(shù)的傳值操作。

如:

def print_test(title, msg="world"):
    print(title, msg)

print_test("hello") # hello world
print_test("hello", "demon") # hello demon
print_test("hello", msg="demon") # hello demon

# 錯誤調用示例
# print_test( msg="demon","hello") # 這樣是不對的

關鍵字參數(shù)使用 kwargs 來標識,是規(guī)定,而kwargs可替換,它將不定長參數(shù)轉換為 dict 傳入函數(shù)。它用于擴展函數(shù)的功能。比如

我們要實現(xiàn)用戶注冊,有必輸項和非必輸項,這些非必輸項就可以用關鍵字參數(shù)來接受。

可變參數(shù),在定義函數(shù)時用 *args 來接受,其中 * 是規(guī)定的,args可用其他名稱替換,但一般習慣用 args 來表示??勺儏?shù)在傳入函數(shù)后,被封裝成一個 tuple 來進行使用。所以我們在函數(shù)內部,可以通過操作 tuple 的方法來操作參數(shù),示例如下:

def print_numbers(*args):            
    print(type(args))  # tuple
    for n in args:
      print(type(n))   # int

print_numbers(1, 2, 3, 4)

如果在函數(shù)外已經得到一個 list 或者 tuple,想調用一個可變參數(shù),也可以用 *+變量名 的形式進行調用,(這種用法有點類似 C語言 中的指針),示例如下:

def print_numbers(*args):            
    print(type(args))  # tuple
    for n in args:
      print(type(n))   # int

l = [1, 2, 3, 4]
print_numbers(*l)  # *l,等價于 print_numbers(1, 2, 3, 4)
print_numbers(l)   # 將 l 作為一個整體傳入,這樣函數(shù)接受到的其實只有一個參數(shù),且參數(shù)類型為 list

看完了這篇文章,相信你對python函數(shù)不定參數(shù)的傳遞方法有了一定的了解,想了解更多相關知識,歡迎關注創(chuàng)新互聯(lián)-成都網站建設公司行業(yè)資訊頻道,感謝各位的閱讀!


網站名稱:python函數(shù)不定參數(shù)的傳遞方法-創(chuàng)新互聯(lián)
網站地址:http://weahome.cn/article/cdcgep.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部