欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

設置python默認參數(shù)的方法-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務器提供商,新人活動買多久送多久,劃算不套路!

成都創(chuàng)新互聯(lián)公司是一家專注于成都做網(wǎng)站、成都網(wǎng)站制作與策劃設計,鄖西網(wǎng)站建設哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設十余年,網(wǎng)設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:鄖西等地區(qū)。鄖西做網(wǎng)站價格咨詢:028-86922220

小編給大家分享一下設置python默認參數(shù)的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

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

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

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

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

例如,如下程序為 name、message 形參指定了默認值:

# 為兩個參數(shù)指定默認值
def say_hi(name = "孫悟空", message = "歡迎來到python學習網(wǎng)"):
    print(name, ", 您好")
    print("消息是:", message)
# 全部使用默認參數(shù)
say_hi()
# 只有message參數(shù)使用默認值
say_hi("白骨精")
# 兩個參數(shù)都不使用默認值
say_hi("白骨精", "歡迎學習Python")
# 只有name參數(shù)使用默認值
say_hi(message = "歡迎學習Python")

運行結果為

孫悟空 , 您好
消息是: 歡迎來到python學習網(wǎng)
白骨精 , 您好
消息是: 歡迎來到python學習網(wǎng)
白骨精 , 您好
消息是: 歡迎學習Python
孫悟空 , 您好
消息是: 歡迎學習Python

從上面程序可以看出,如果只傳入一個位置參數(shù),由于該參數(shù)位于第一位,系統(tǒng)會將該參數(shù)值傳給 name 參數(shù)。因此,不能按如下方式調用 say_hi() 函數(shù):

say_hi("歡迎學習Python")

上面調用時傳入的“歡迎學習Python”字符串將傳給 name 參數(shù),而不是 message 參數(shù)。

更不能按如下方式來調用 say_hi() 函數(shù):

say_hi(name="白骨精", "歡迎學習Python")

因為 Python 規(guī)定,關鍵字參數(shù)必須位于位置參數(shù)的后面。因此提示錯誤:positional argument follows keyword argument。

那么,能不能單純地將上面兩個參數(shù)交換位置呢?

say_hi("歡迎學習Python" , name="白骨精")

上面調用依然是錯誤的,因為第一個字符串沒有指定關鍵字參數(shù),因此將使用位置參數(shù)為 name 參數(shù)傳入?yún)?shù)值,第二個參數(shù)使用關鍵字參數(shù)的形式再次為 name 參數(shù)傳入?yún)?shù)值,這意味著兩個參數(shù)值其實都會傳給 name 參數(shù),程序為 name 參數(shù)傳入了多個參數(shù)值。因此提示錯誤:say_hi() got multiple values for argument 'name'。

將函數(shù)調用改為如下兩種形式是正確的:

say_hi("白骨精", message="歡迎學習Python")
say_hi(name="白骨精", message="歡迎學習Python")

上面第一行代碼先使用位置參數(shù)為 name 參數(shù)傳入?yún)?shù)值,再使用關鍵字參數(shù)為 message 參數(shù)傳入?yún)?shù)值;第二行代碼中的 name、message 參數(shù)都使用關鍵字參數(shù)傳入?yún)?shù)值。

再次強調,由于 Python 要求在調用函數(shù)時關鍵字參數(shù)必須位于位置參數(shù)的后面,因此在定義函數(shù)時指定了默認值的參數(shù)(關鍵字參數(shù))必須在沒有默認值的參數(shù)之后。例如如下代碼:

# 定義一個打印三角形的函數(shù),有默認值的參數(shù)必須放在后面
def printTriangle(char, height = 5) :
    for i in range(1, height + 1) :
        # 先打印一排空格
        for j in range(height - i) :
            print(' ', end = '')
        # 再打印一排特殊字符
        for j in range(2 * i - 1) :
            print(char, end = '')
        print()
printTriangle('@', 6)
printTriangle('#', height=7)
printTriangle(char = '*')

上面程序定義了 printTriangle() 函數(shù),其中,有默認值的 height 形參,必須放在 char 形參的后面;反之,將會造成語法錯誤。

在 Python 中,可以使用“函數(shù)名.__defaults__”查看函數(shù)的默認值參數(shù)的當前值,其返回值是一個元組。例如,顯示上面定義的 printTriangle 函數(shù)的默認值參數(shù)的當前值,可以使用 printTriangle.__defaults__ ,其結果為 (5,)。 

以上是設置python默認參數(shù)的方法的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)-成都網(wǎng)站建設公司行業(yè)資訊頻道!

網(wǎng)站名稱:設置python默認參數(shù)的方法-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://chinadenli.net/article44/dhjdhe.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、全網(wǎng)營銷推廣響應式網(wǎng)站、靜態(tài)網(wǎng)站建站公司、電子商務

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

h5響應式網(wǎng)站建設