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

Python函數(shù)默認(rèn)參數(shù)設(shè)置的具體方法

 更新時間:2023年03月31日 11:13:16   作者:小劉學(xué)安卓  
本文主要介紹了Python函數(shù)默認(rèn)參數(shù)設(shè)置,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

我們知道,在調(diào)用函數(shù)時如果不指定某個參數(shù),Python 解釋器會拋出異常。為了解決這個問題,Python 允許為參數(shù)設(shè)置默認(rèn)值,即在定義函數(shù)時,直接給形式參數(shù)指定一個默認(rèn)值。這樣的話,即便調(diào)用函數(shù)時沒有給擁有默認(rèn)值的形參傳遞參數(shù),該參數(shù)可以直接使用定義函數(shù)時設(shè)置的默認(rèn)值。

Python 定義帶有默認(rèn)值參數(shù)的函數(shù),其語法格式如下:

def 函數(shù)名(...,形參名,形參名=默認(rèn)值):
    代碼塊

注意,在使用此格式定義函數(shù)時,指定有默認(rèn)值的形式參數(shù)必須在所有沒默認(rèn)值參數(shù)的最后,否則會產(chǎn)生語法錯誤。

下面程序演示了如何定義和調(diào)用有默認(rèn)參數(shù)的函數(shù):

#str1沒有默認(rèn)參數(shù),str2有默認(rèn)參數(shù)
def dis_str(str1,str2 = "http://jb51.net/python/"):
print("str1:",str1)
print("str2:",str2)
 
dis_str("http://jb51.net/shell/")
dis_str("http://jb51.net/java/","http://jb51.net/golang/")

運(yùn)行結(jié)果為:

str1: http://jb51.net/shell/
str2: http://jb51.net/python/
str1: http://jb51.net/java/
str2: http://jb51.net/golang/

上面程序中,dis_str() 函數(shù)有 2 個參數(shù),其中第 2 個設(shè)有默認(rèn)參數(shù)。這意味著,在調(diào)用 dis_str() 函數(shù)時,我們可以僅傳入 1 個參數(shù),此時該參數(shù)會傳給 str1 參數(shù),而 str2 會使用默認(rèn)的參數(shù),如程序中第 6 行代碼所示。

當(dāng)然在調(diào)用 dis_str() 函數(shù)時,也可以給所有的參數(shù)傳值(如第 7 行代碼所示),這時即便 str2 有默認(rèn)值,它也會優(yōu)先使用傳遞給它的新值。
同時,結(jié)合關(guān)鍵字參數(shù),以下 3 種調(diào)用 dis_str() 函數(shù)的方式也是可以的:

dis_str(str1 = "http://jb51.net/shell/")
dis_str("http://jb51.net/java/",str2 = "http://jb51.net/golang/")
dis_str(str1 = "http://jb51.net/java/",str2 = "http://jb51.net/golang/")

再次強(qiáng)調(diào),當(dāng)定義一個有默認(rèn)值參數(shù)的函數(shù)時,有默認(rèn)值的參數(shù)必須位于所有沒默認(rèn)值參數(shù)的后面。因此,下面例子中定義的函數(shù)是不正確的:

#語法錯誤
def dis_str(str1="http://jb51.net/python/",str2,str3):
pass

顯然,str1 設(shè)有默認(rèn)值,而 str2 和 str3 沒有默認(rèn)值,因此 str1 必須位于 str2 和 str3 之后。

有讀者可能會問,對于自己自定義的函數(shù),可以輕易知道哪個參數(shù)有默認(rèn)值,但如果使用 Python 提供的內(nèi)置函數(shù),又或者其它第三方提供的函數(shù),怎么知道哪些參數(shù)有默認(rèn)值呢?

Pyhton 中,可以使用“函數(shù)名.__defaults__”查看函數(shù)的默認(rèn)值參數(shù)的當(dāng)前值,其返回值是一個元組。以本節(jié)中的 dis_str() 函數(shù)為例,在其基礎(chǔ)上,執(zhí)行如下代碼:

print(dis_str.__defaults__)

程序執(zhí)行結(jié)果為:

('http://jb51.net/python/',)

到此這篇關(guān)于Python函數(shù)默認(rèn)參數(shù)設(shè)置的具體方法的文章就介紹到這了,更多相關(guān)Python函數(shù)默認(rèn)參數(shù)設(shè)置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python函數(shù)常見幾種return返回值類型

    Python函數(shù)常見幾種return返回值類型

    本文主要介紹了Python函數(shù)常見幾種return返回值類型,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • python字典鍵值對的添加和遍歷方法

    python字典鍵值對的添加和遍歷方法

    下面小編就為大家?guī)硪黄猵ython字典鍵值對的添加和遍歷方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • pandas實(shí)現(xiàn)數(shù)據(jù)可視化的示例代碼

    pandas實(shí)現(xiàn)數(shù)據(jù)可視化的示例代碼

    本文主要介紹了pandas實(shí)現(xiàn)數(shù)據(jù)可視化的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • 解決pycharm debug時界面下方不出現(xiàn)step等按鈕及變量值的問題

    解決pycharm debug時界面下方不出現(xiàn)step等按鈕及變量值的問題

    這篇文章主要介紹了解決pycharm debug時界面下方不出現(xiàn)step等按鈕及變量值的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python爬蟲抓取技術(shù)的一些經(jīng)驗(yàn)

    Python爬蟲抓取技術(shù)的一些經(jīng)驗(yàn)

    這篇文章主要介紹了Python爬蟲抓取技術(shù)的一些經(jīng)驗(yàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • Python實(shí)現(xiàn)批量采集商品數(shù)據(jù)的示例詳解

    Python實(shí)現(xiàn)批量采集商品數(shù)據(jù)的示例詳解

    這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)批量采集商品的數(shù)據(jù),文中的示例代碼講解詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • python實(shí)現(xiàn)經(jīng)緯度采樣的示例代碼

    python實(shí)現(xiàn)經(jīng)緯度采樣的示例代碼

    這篇文章主要介紹了python實(shí)現(xiàn)經(jīng)緯度采樣的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • numpy matrix和array的乘和加實(shí)例

    numpy matrix和array的乘和加實(shí)例

    今天小編就為大家分享一篇numpy matrix和array的乘和加實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • python不到50行代碼完成了多張excel合并的實(shí)現(xiàn)示例

    python不到50行代碼完成了多張excel合并的實(shí)現(xiàn)示例

    這篇文章主要介紹了python不到50行代碼完成了多張excel合并的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • tensor和numpy的互相轉(zhuǎn)換的實(shí)現(xiàn)示例

    tensor和numpy的互相轉(zhuǎn)換的實(shí)現(xiàn)示例

    這篇文章主要介紹了tensor和numpy的互相轉(zhuǎn)換的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08

最新評論