最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python函數(shù)參數(shù)類型及傳參方式詳解

 更新時間:2025年11月20日 16:11:29   作者:思則變  
Python函數(shù)參數(shù)主要分為位置參數(shù)、關鍵字參數(shù)、默認參數(shù)、可變參數(shù)和僅關鍵字參數(shù),參數(shù)傳遞方式包括位置傳遞、關鍵字傳遞和默認傳遞,理解參數(shù)傳遞機制對于編寫正確的函數(shù)至關重要,本文介紹Python函數(shù)參數(shù)類型及傳參方式,感興趣的朋友一起看看吧

Python函數(shù)參數(shù)類型

Python函數(shù)參數(shù)主要分為以下幾種類型:

位置參數(shù)(Positional Arguments)

  • 最常見的參數(shù)類型
  • 調(diào)用時必須按定義順序傳遞
  • 數(shù)量和順序必須匹配函數(shù)定義
def foo(name,age):
    """
    位置參數(shù),按位置對應來傳遞參數(shù)
    """
    print(f"第一個參數(shù):{name},第二個參數(shù){age}")
# test code
foo("Alice", 18)
foo(18, "Alice")
第一個參數(shù):Alice,第二個參數(shù)18
第一個參數(shù):18,第二個參數(shù)Alice

當傳入的兩個參數(shù)位置調(diào)換之后,輸出結(jié)果也會調(diào)換。所以位置參數(shù)必須嚴格按照對應位置來傳遞。

關鍵字參數(shù)(Keyword Arguments)

  • 調(diào)用時通過參數(shù)名指定值
  • 可以不按定義順序傳遞
  • 提高代碼可讀性
def foo(name, age):
    """
    關鍵字參數(shù),根據(jù)指定的關鍵字傳遞參數(shù),與參數(shù)的位置不相關
    :return:
    """
    print(f"第一個參數(shù):{name},第二個參數(shù){age}")
# test code
foo(name="Alice", age=18)
foo(age=18, name="Alice")
第一個參數(shù):Alice,第二個參數(shù)18
第一個參數(shù):Alice,第二個參數(shù)18

可以看到兩種不同位置的傳參,輸出都是同一個結(jié)果。

默認參數(shù)(Default Arguments)

  • 在函數(shù)定義時指定默認值
  • 調(diào)用時可省略使用默認值的參數(shù)
  • 必須位于非默認參數(shù)之后
def foo(name="Dog", age=12):
    """
    關鍵字參數(shù),根據(jù)指定的關鍵字傳遞參數(shù),與參數(shù)的位置不相關
    :return:
    """
    print(f"第一個參數(shù):{name},第二個參數(shù){age}")
# test code
foo()
foo(name="Alice", age=18)
第一個參數(shù):Dog,第二個參數(shù)12
第一個參數(shù):Alice,第二個參數(shù)18

可變參數(shù)(Variable-length Arguments)

  • *args:接收任意數(shù)量的位置參數(shù),接收后會被放進一個元組內(nèi),也稱為非關鍵字參數(shù)元組
  • **kwargs:接收任意數(shù)量的關鍵字參數(shù),接收后會放進一個字典內(nèi),也稱為關鍵字參數(shù)字典,參數(shù)名為key,參數(shù)值為value。
def foo(*args, **kwargs):
    for arg in args:
        print(f"其他非關鍵參數(shù)有:{arg}")
    for kwarg in kwargs.keys():
        print(f"其他關鍵子參數(shù)有:{kwargs[kwarg]}")

多種參數(shù)(包括位置參數(shù),默認參數(shù),關鍵字參數(shù),可變參數(shù))

多種參數(shù)一起傳遞,對傳遞順序是有要求的,一般是位置參數(shù)、關鍵字參數(shù)、默認參數(shù)、可變參數(shù)??傮w來說可變參數(shù)都是放在所有參數(shù)后面的。

def foo(arg1, arg2, arg3="some", *args, **kwargs):
    print(f"位置參數(shù)arg1 is {arg1}\n位置參數(shù)arg2 is {arg2}")
    print(f"默認參數(shù)arg3 is {arg3}")
    for arg in args:
        print(f"其他非關鍵參數(shù)有:{arg}")
    for kwarg in kwargs.keys():
        print(f"其他關鍵子參數(shù)有:{kwargs[kwarg]}")
# test code
# foo("Alice", 18)
# foo("Alice", 18, "Bob", "Elson", 19)
# foo("Alice", 18, "Bob", "Elson", 19, a="123", b=789)
foo("Alice", 18, "Elson",19, a="123", b=789,)
位置參數(shù)arg1 is Alice
位置參數(shù)arg2 is 18
默認參數(shù)arg3 is Elson
其他非關鍵參數(shù)有:19
其他關鍵子參數(shù)有:123
其他關鍵子參數(shù)有:789

僅關鍵字參數(shù)(Keyword-only Arguments)

  • 放在*后的參數(shù)必須使用關鍵字傳遞
def concat(*args, sep=" "):
    return sep.join(args)
print(concat("a", "b", "c", sep="-"))  # 必須使用關鍵字傳遞sep

Python參數(shù)傳遞方法

Python中的參數(shù)傳遞本質(zhì)上是對象引用的傳遞。對于可變和不可變對象有不同的表現(xiàn):

不可變對象傳遞

  • 數(shù)字、字符串、元組等不可變類型
  • 函數(shù)內(nèi)修改會創(chuàng)建新對象,不影響原始變量
def modify_num(x):
    x = x + 1
    print("Inside:", x)
num = 10
modify_num(num)  # Inside: 11
print("Outside:", num)  # Outside: 10

可變對象傳遞

  • 列表、字典等可變類型
  • 函數(shù)內(nèi)修改會影響原始對象
def modify_list(lst):
    lst.append(4)
    print("Inside:", lst)
my_list = [1, 2, 3]
modify_list(my_list)  # Inside: [1, 2, 3, 4]
print("Outside:", my_list)  # Outside: [1, 2, 3, 4]

理解Python的參數(shù)傳遞機制對于編寫正確的函數(shù)至關重要。根據(jù)需求選擇合適的參數(shù)類型和傳遞方式,可以使代碼更清晰、更安全。

到此這篇關于Python函數(shù)參數(shù)類型以及傳參方式的文章就介紹到這了,更多相關python函數(shù)參數(shù)類型內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 基于Python實現(xiàn)繪制簡單動圖的示例詳解

    基于Python實現(xiàn)繪制簡單動圖的示例詳解

    動畫是一種高效的可視化工具,能夠提升用戶的吸引力和視覺體驗,有助于以富有意義的方式呈現(xiàn)數(shù)據(jù)可視化,本文的主要介紹在Python中兩種簡單制作動圖的方法,需要的可以了解下
    2023-10-10
  • Python進階-函數(shù)默認參數(shù)(詳解)

    Python進階-函數(shù)默認參數(shù)(詳解)

    下面小編就為大家?guī)硪黄狿ython進階-函數(shù)默認參數(shù)(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • Python的Web服務器網(wǎng)關接口(WSGI 和 ASGI)

    Python的Web服務器網(wǎng)關接口(WSGI 和 ASGI)

    WSGI和ASGI是Python Web開發(fā)中用于Web服務器和應用程序之間通信的兩個標準接口,選擇哪種接口取決于應用程序的具體需求和性能要求,下面就來介紹一下如何實現(xiàn)
    2026-02-02
  • 在PyCharm中使用Git和Gitee進行版本控制的操作流程

    在PyCharm中使用Git和Gitee進行版本控制的操作流程

    該文章詳細介紹了在PyCharm中使用Git與Gitee進行版本控制的全過程,包括環(huán)境準備、基本操作、分支管理、拉取與克隆、以及避免沖突的IDE操作等步驟,設置Git路徑和Gitee插件是基礎,之后可以進行項目初始化、添加、推送等,需要的朋友可以參考下
    2026-05-05
  • python中?@的含義以及基本使用方法

    python中?@的含義以及基本使用方法

    @用做函數(shù)的修飾符,可以在模塊或者類的定義層內(nèi)對函數(shù)進行修飾,下面這篇文章主要給大家介紹了關于python中?@?的含義以及基本使用的相關資料,需要的朋友可以參考下
    2021-12-12
  • python os模塊簡單應用示例

    python os模塊簡單應用示例

    這篇文章主要介紹了python os模塊簡單應用,結(jié)合實例形式分析了Python os模塊操作目錄與路徑相關函數(shù)與使用技巧,需要的朋友可以參考下
    2019-05-05
  • 使用Python開發(fā)智能文件備份工具

    使用Python開發(fā)智能文件備份工具

    在數(shù)字化時代,數(shù)據(jù)備份已成為個人和企業(yè)數(shù)據(jù)管理的重要環(huán)節(jié),本文將詳細介紹如何使用Python開發(fā)一款功能全面的桌面級文件備份工具,有需要的可以了解下
    2025-05-05
  • Python匿名函數(shù)/排序函數(shù)/過濾函數(shù)/映射函數(shù)/遞歸/二分法

    Python匿名函數(shù)/排序函數(shù)/過濾函數(shù)/映射函數(shù)/遞歸/二分法

    這篇文章主要介紹了Python匿名函數(shù)/排序函數(shù)/過濾函數(shù)/映射函數(shù)/遞歸/二分法 ,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-06-06
  • Python描述器descriptor詳解

    Python描述器descriptor詳解

    這篇文章主要向我們詳細介紹了Python描述器descriptor,需要的朋友可以參考下
    2015-02-02
  • Python實現(xiàn)將HTML轉(zhuǎn)為PDF/圖片/XML/XPS格式

    Python實現(xiàn)將HTML轉(zhuǎn)為PDF/圖片/XML/XPS格式

    網(wǎng)頁內(nèi)容是信息傳播的主要形式之一,這篇文章主要和大家介紹了如何使用Python實現(xiàn)將HTML分別轉(zhuǎn)為PDF/圖片/XML/XPS格式等,需要的可以參考下
    2024-03-03

最新評論

高台县| 洛南县| 自治县| 鹤庆县| 浠水县| 嘉义市| 九江县| 神农架林区| 新乡县| 衡阳市| 潞西市| 金阳县| 巴中市| 凉山| 乌海市| 闸北区| 健康| 柯坪县| 林口县| 竹山县| 平湖市| 区。| 邛崃市| 岑溪市| 金阳县| 天门市| 河东区| 将乐县| 商洛市| 定远县| 安达市| 巴塘县| 探索| 凤台县| 南溪县| 康平县| 曲阜市| 岗巴县| 浙江省| 柞水县| 新乡市|