欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python的函數(shù)參數(shù)你了解嗎

 更新時間:2022年01月27日 16:37:50   作者:lishuaigell  
這篇文章主要為大家詳細(xì)介紹了python的函數(shù)參數(shù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

前言

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

位置傳參

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

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

關(guān)鍵字傳參

關(guān)鍵字傳參,根據(jù)形式參數(shù)的名字來進(jìn)行對應(yīng)的賦值。

def func(a, b, c):
    print(a, b, c)
 
 
# 關(guān)鍵字參數(shù)
if __name__ == '__main__':
    func(1, b=6, c=7)  # 打印結(jié)果是1 6 7
    func(c=3, b=1, a=7)  # 打印結(jié)果是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) # 也不能無關(guān)賦值
    # func(1, b=6, 7)  # 與位置傳參混合使用時,必須位置參數(shù)在前,而且不能交替使用 

默認(rèn)參數(shù)

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

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

不定長參數(shù)

不定長參數(shù)有兩種表現(xiàn)形式。

  • 在形參前面加個*(*args),表示不定長元組形參,可以接收所有通過位置傳參進(jìn)來的實參,將其存入元組里面。
  • 在形參前面加兩個*(**kwargs),表示不定長字典形參,可以接收所有通過關(guān)鍵字傳參進(jìn)來的實參,將其存入字典里面。
# 不定長參數(shù)
def func(*args, **kwargs):
    print(args)
    print(kwargs)
 
 
if __name__ == '__main__':
    func(1, 4, 8, 7, a=5, h=6, l=15)  # 注意實參形參順序要對應(yīng)

結(jié)果

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

混合使用問題

創(chuàng)建時

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

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

  • 普通參數(shù)必須寫在最前面(寫在其他類型參數(shù)前面)
  • 可變關(guān)鍵字參數(shù)必須寫在最后面(寫在其他參數(shù)類型后面)
  • 可變參數(shù)與可變關(guān)鍵字參數(shù)只能出現(xiàn)一次。

引用時

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

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)

 結(jié)果為

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

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!   

相關(guān)文章

  • Python中的?pass?占位語句

    Python中的?pass?占位語句

    這篇文章主要介紹了Python中的?pass?占位語句,Python?pass是空語句,是為了保持程序結(jié)構(gòu)的完整性,下文具體的相關(guān)內(nèi)容介紹需要的小伙伴可以參考一下
    2022-04-04
  • tensorflow 實現(xiàn)數(shù)據(jù)類型轉(zhuǎn)換

    tensorflow 實現(xiàn)數(shù)據(jù)類型轉(zhuǎn)換

    今天小編就為大家分享一篇tensorflow 實現(xiàn)數(shù)據(jù)類型轉(zhuǎn)換,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • PyCharm如何設(shè)置Console控制臺輸出自動換行

    PyCharm如何設(shè)置Console控制臺輸出自動換行

    這篇文章主要介紹了PyCharm如何設(shè)置Console控制臺輸出自動換行問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Python3 itchat實現(xiàn)微信定時發(fā)送群消息的實例代碼

    Python3 itchat實現(xiàn)微信定時發(fā)送群消息的實例代碼

    使用微信,定時往指定的微信群里發(fā)送指定信息。接下來通過本文給大家分享Python3 itchat實現(xiàn)微信定時發(fā)送群消息的實例代碼,需要的朋友可以參考下
    2019-07-07
  • python實現(xiàn)猜拳游戲項目

    python實現(xiàn)猜拳游戲項目

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)猜拳游戲項目,以excel形式保存信息,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • PyQt5+serial模塊實現(xiàn)一個串口小工具

    PyQt5+serial模塊實現(xiàn)一個串口小工具

    這篇文章主要為大家詳細(xì)介紹了如何利用PyQt5和serial模塊實現(xiàn)一個簡單的串口小工具,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-01-01
  • Python完全識別驗證碼自動登錄實例詳解

    Python完全識別驗證碼自動登錄實例詳解

    今天小編就為大家分享一篇Python完全識別驗證碼自動登錄實例詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • 使用pycharm和pylint檢查python代碼規(guī)范操作

    使用pycharm和pylint檢查python代碼規(guī)范操作

    這篇文章主要介紹了使用pycharm和pylint檢查python代碼規(guī)范操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • python+requests+pytest接口自動化的實現(xiàn)示例

    python+requests+pytest接口自動化的實現(xiàn)示例

    這篇文章主要介紹了python+requests+pytest接口自動化的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Python爬蟲入門有哪些基礎(chǔ)知識點

    Python爬蟲入門有哪些基礎(chǔ)知識點

    在本篇文章中小編給大家整理的是關(guān)于Python爬蟲入門基礎(chǔ)知識點整理,有興趣的朋友們可以跟著學(xué)習(xí)下。
    2020-06-06

最新評論