久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

    1. <style id="76ofp"></style>

      <style id="76ofp"></style>
      <rt id="76ofp"></rt>
      <form id="76ofp"><optgroup id="76ofp"></optgroup></form>
      1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

        手機(jī)站
        千鋒教育

        千鋒學(xué)習(xí)站 | 隨時隨地免費(fèi)學(xué)

        千鋒教育

        掃一掃進(jìn)入千鋒手機(jī)站

        領(lǐng)取全套視頻
        千鋒教育

        關(guān)注千鋒學(xué)習(xí)站小程序
        隨時隨地免費(fèi)學(xué)習(xí)課程

        當(dāng)前位置:首頁  >  技術(shù)干貨  > python可變參數(shù)怎么傳值

        python可變參數(shù)怎么傳值

        來源:千鋒教育
        發(fā)布人:xqq
        時間: 2023-11-09 16:55:45 1699520145

        python允許在形參前面添加一個星號(*),這樣就意味著該參數(shù)可接收多個參數(shù)值,多個參數(shù)值被當(dāng)成元組傳入。

        下面程序定義了一個形參個數(shù)可變的函數(shù):

        #定義了支持參數(shù)收集的函數(shù)

        deftest(a,*books):

        print(books)

        #books被當(dāng)成元組處理

        forbinbooks:

        print(b)

        #輸出整數(shù)變量a的值

        print(a)

        #調(diào)用test()函數(shù)

        test(5,"千鋒","Python教程")

        運(yùn)行上面程序,將看到如下運(yùn)行結(jié)果:

        ('千鋒','Python教程')

        千鋒

        Python教程

        5

        從上面的運(yùn)行結(jié)果可以看出,當(dāng)調(diào)用test()函數(shù)時,books參數(shù)可以傳入多個字符串作為參數(shù)值。從test()的函數(shù)體代碼來看,參數(shù)收集的本質(zhì)就是一個元組:Python會將傳給books參數(shù)的多個值收集成一個元組。

        Python允許個數(shù)可變的形參可以處于形參列表的任意位置(不要求是形參列表的最后一個參數(shù)),但Python要求一個函數(shù)最多只能帶一個支持“普通”參數(shù)收集的形參。例如如下程序:

        #定義了支持參數(shù)收集的函數(shù)

        deftest(*books,num):

        print(books)

        #books被當(dāng)成元組處理

        forbinbooks:

        print(b)

        print(num)

        #調(diào)用test()函數(shù)

        test("千鋒","Python教程",num=20)

        正如從上面程序中所看到的,test()函數(shù)的第一個參數(shù)就是個數(shù)可變的形參,由于該參數(shù)可接收個數(shù)不等的參數(shù)值,因此如果需要給后面的參數(shù)傳入?yún)?shù)值,則必須使用關(guān)鍵字參數(shù),否則程序會把所傳入的多個值都當(dāng)成是傳給books參數(shù)的。

        Python還可以收集關(guān)鍵字參數(shù),此時Python會將這種關(guān)鍵字參數(shù)收集成字典。為了讓Python能收集關(guān)鍵字參數(shù),需要在參數(shù)前面添加兩個星號。在這種情況下,一個函數(shù)可同時包含一個支持“普通”參數(shù)收集的參數(shù)和一個支持關(guān)鍵字參數(shù)收集的參數(shù)。例如如下代碼:

        #定義了支持參數(shù)收集的函數(shù)

        deftest(x,y,z=3,*books,**scores):

        print(x,y,z)

        print(books)

        print(scores)

        test(1,2,3,"千鋒","Python教程",語文=89,數(shù)學(xué)=94)

        上面程序在調(diào)用test()函數(shù)時,前面的1、2、3將會傳給普通參數(shù)x、y、z;接下來的兩個字符串將會由books參數(shù)收集成元組;最后的兩個關(guān)鍵字參數(shù)將會被收集成字典。運(yùn)行上面代碼,會看到如下輸出結(jié)果:

        123

        ('千鋒','Python教程')

        {'語文':89,'數(shù)學(xué)':94}

        對于以上面方式定義的test()函數(shù),參數(shù)z的默認(rèn)值幾乎不能發(fā)揮作用。比如按如下方式調(diào)用test()函數(shù):

        test(1,2,"千鋒","Python教程",語文=89,數(shù)學(xué)=94)

        如果希望讓z參數(shù)的默認(rèn)值發(fā)揮作用,則需要只傳入兩個位置參數(shù)。例如如下調(diào)用代碼:

        test(1,2,語文=89,數(shù)學(xué)=94)

        以上內(nèi)容為大家介紹了python培訓(xùn)之可變參數(shù)怎么傳值,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。

        聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
        10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
        請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
        免費(fèi)領(lǐng)取
        今日已有369人領(lǐng)取成功
        劉同學(xué) 138****2860 剛剛成功領(lǐng)取
        王同學(xué) 131****2015 剛剛成功領(lǐng)取
        張同學(xué) 133****4652 剛剛成功領(lǐng)取
        李同學(xué) 135****8607 剛剛成功領(lǐng)取
        楊同學(xué) 132****5667 剛剛成功領(lǐng)取
        岳同學(xué) 134****6652 剛剛成功領(lǐng)取
        梁同學(xué) 157****2950 剛剛成功領(lǐng)取
        劉同學(xué) 189****1015 剛剛成功領(lǐng)取
        張同學(xué) 155****4678 剛剛成功領(lǐng)取
        鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
        董同學(xué) 138****2867 剛剛成功領(lǐng)取
        周同學(xué) 136****3602 剛剛成功領(lǐng)取
        相關(guān)推薦HOT
        新田县| 清镇市| 临澧县| 平阳县| 鲜城| 南乐县| 哈尔滨市| 英超| 东兴市| 灵寿县| 内江市| 乐至县| 吐鲁番市| 沙田区| 多伦县| 海宁市| 和政县| 新乡市| 许昌市| 涿州市| 吴川市| 彭泽县| 荃湾区| 怀集县| 郎溪县| 北流市| 金堂县| 汝城县| 金门县| 阿克苏市| 铜陵市| 绥芬河市| 泌阳县| 故城县| 芜湖市| 潼南县| 都兰县| 灵宝市| 开封市| 清新县| 南陵县|