中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python函數參數怎么用

發布時間:2022-01-28 09:08:29 來源:億速云 閱讀:132 作者:iii 欄目:開發技術

這篇文章主要講解了“python函數參數怎么用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“python函數參數怎么用”吧!

    前言

    python參數類型和參數傳遞形式多樣,相對于其他語言python使用會更加靈活。它傳參形式一般分為兩種:位置傳參,關鍵字傳參。傳參形式是相對于實參而言,在函數調用時使用參數類型一般也分為兩種:默認參數,不定長參數。參數類型是相對形參而言,在函數創建時定義。

    位置傳參

    位置傳參,我們經常使用的一種函數傳參形式,它根據實參的位置傳遞給對應位置的形式參數。在與其他傳參形式混合使用時,必須優先輸入位置參數。

    def func(a, b, c):
        print(a, b, c)
     
     
    # 位置參數
    if __name__ == '__main__':
        func(1, 6, 7)  # 打印結果是1 6 7  位置一一對應
        func(6, 1, 7)  # 打印結果是6 1 7
        # func(6, 1)  # 實參與形參數量必須一致 
        # func(6, 1, 7, 9)  # 不能多也不能少

    關鍵字傳參

    關鍵字傳參,根據形式參數的名字來進行對應的賦值。

    def func(a, b, c):
        print(a, b, c)
     
     
    # 關鍵字參數
    if __name__ == '__main__':
        func(1, b=6, c=7)  # 打印結果是1 6 7
        func(c=3, b=1, a=7)  # 打印結果是7 1 3
        # func(c=2, b=3)  # 不能少賦值
        # func(c=2, b=3,a=6,c=5)  # 不能多賦值
        # func(c=2, b=3,a=5,qq=3) # 也不能無關賦值
        # func(1, b=6, 7)  # 與位置傳參混合使用時,必須位置參數在前,而且不能交替使用

    默認參數

    默認參數,就是形參會有個默認值,如果有新值傳入就使用新值,否則使用默認值。形參使用默認參數時同樣需要注意位置,必須寫在位置參數后面(其實不能叫位置參數,但是為了理解就把沒有賦值的普通形參叫做位置參數),否則會報錯。如下方ab必須寫在c后面。

    python函數參數怎么用

    # 默認參數必須要寫在右側
    def func(a, b=5, c=3):
        print(a, b, c)
     
     
    # 默認參數
    if __name__ == '__main__':
        func(1)  # 打印的結果是 1 5 3
        func(1, 6)  # 打印的結果是 1 6 3
        func(1, 2, 7)  # 打印結果是1 2 7
        func(b=1, a=4)  # 打印結果是4 1 3

    不定長參數

    不定長參數有兩種表現形式。

    • 在形參前面加個*(*args),表示不定長元組形參,可以接收所有通過位置傳參進來的實參,將其存入元組里面。

    • 在形參前面加兩個*(**kwargs),表示不定長字典形參,可以接收所有通過關鍵字傳參進來的實參,將其存入字典里面。

    # 不定長參數
    def func(*args, **kwargs):
        print(args)
        print(kwargs)
     
     
    if __name__ == '__main__':
        func(1, 4, 8, 7, a=5, h=6, l=15)  # 注意實參形參順序要對應

    結果

    (1, 4, 8, 7)  # 元組
    {'a': 5, 'h': 6, 'l': 15}  # 字典

    混合使用問題

    創建時

    def func1(a, b=5, *args, c=7, **kwargs):
        print(a, b, args, c, kwargs)

    我們先給它們一個稱呼方便引用。就稱a為普通參數,b為默認參數,*args為可變參數(因為它能接收多個實參),**kwargs為可變關鍵字參數(因為它能接收多個通過關鍵字傳參進來的實參)。

    • 普通參數必須寫在最前面(寫在其他類型參數前面)

    • 可變關鍵字參數必須寫在最后面(寫在其他參數類型后面)

    • 可變參數與可變關鍵字參數只能出現一次。

    引用時

    位置傳參必須寫在關鍵字參數前面,他們倆不能交替使用。關鍵字傳參什么時候出現合適?出現在可變參數之后,相當于終止條件。

    def func1(a, b=5, *args, c=7, **kwargs):
        print(a, b, args, c, kwargs, sep='\n')
     
     
    if __name__ == '__main__':
        func1(5, 6, 8, 7, 1, 5, 6, 8, c=4, r=2, s=3)

     結果為

    5
    6
    (8, 7, 1, 5, 6, 8)
    4
    {'r': 2, 's': 3}

    感謝各位的閱讀,以上就是“python函數參數怎么用”的內容了,經過本文的學習后,相信大家對python函數參數怎么用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    双江| 宜君县| 芜湖县| 枝江市| 雷波县| 青神县| 边坝县| 色达县| 阿坝| 水城县| 萝北县| 漾濞| 全州县| 乳山市| 平乡县| 自治县| 措勤县| 新巴尔虎左旗| 山阳县| 三门县| 特克斯县| 繁昌县| 景洪市| 延川县| 卓尼县| 忻州市| 东光县| 阳城县| 永吉县| 兴隆县| 秀山| 静海县| 东阳市| 常熟市| 平度市| 丰顺县| 内黄县| 静安区| 宁蒗| 柘城县| 丰台区|