首頁 > 後端開發 > Python教學 > python函數參數預設值的用法及注意要點

python函數參數預設值的用法及注意要點

不言
發布: 2019-04-15 11:07:29
轉載
4202 人瀏覽過

這篇文章帶給大家的內容是關於python函數參數預設值的用法及注意要點,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

最有用的形式是對一個或多個參數指定一個預設值。這樣創建的函數,可以用比定義時允許的更少的參數調用,例如:

1

2

3

4

5

6

7

8

9

10

11

def ask_ok(prompt, retries=4, reminder='Please try again!'):

    while True:

        ok = input(prompt)

        if ok in ('y', 'ye', 'yes'):

            return True

        if ok in ('n', 'no', 'nop', 'nope'):

            return False

        retries = retries - 1

        if retries < 0:

            raise ValueError(&#39;invalid user response&#39;)

        print(reminder)

登入後複製

這個函數可以透過幾種方式調用:

只給出必需的參數:<span class="pre">ask_ok('Do <span class="pre">you <span class="pre">really <span class="pre">want <span class="pre">to <span class="pre">quit?')<br/></span></span></span></span></span></span>##給一個可選的參數:<span class="pre">ask_ok('OK <span class="pre">to <span class="pre">overwrite <span class="pre">the <span class="pre">file?', <span class="pre">2 )<br/></span></span></span></span></span></span>或給出所有的參數:<span class="pre">ask_ok('OK <span class="pre">to <span class="pre">overwrite <span class="pre">the <span class="pre">file?', <span class="pre">2, <span class="pre">'Come <span class="pre">on, <span class="pre">only <span class="pre">yes <span class="pre">or <span class="pre">no!')</span></span></span></span></span></span></span></span></span></span></span></span>

這個範例也介紹了 <span class="pre"></span>

#這個範例也介紹了 in

 關鍵字。它可以測試一個序列是否包含某個值。

預設值是在 定義過程 中在函數定義處計算的,所以

1

2

3

4

5

6

7

i = 5

 

def f(arg=i):

    print(arg)

 

i = 6

f()

登入後複製

 會列印 5。

重要警告:

 預設值只會執行一次。這條規則在預設值為可變物件(python列表、字典以及大多數類別實例)時很重要。例如,下面的函數會儲存在後續呼叫中傳遞給它的參數:

1

2

3

4

5

6

7

def f(a, L=[]):

    L.append(a)

    return L

 

print(f(1))

print(f(2))

print(f(3))

登入後複製
### 這將列印出###

1

2

3

[1]

[1, 2]

[1, 2, 3]

登入後複製
### 如果你不想要在後續呼叫之間共享預設值,你可以這樣寫這個python函數:###

1

2

3

4

5

def f(a, L=None):

    if L is None:

        L = []

    L.append(a)

    return L

登入後複製
### ###

以上是python函數參數預設值的用法及注意要點的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
最新問題
python - ubuntu16.04 lxml的報錯
來自於 1970-01-01 08:00:00
0
0
0
有辦法在PHP裡寫Python嗎?
來自於 1970-01-01 08:00:00
0
0
0
python scrapy爬蟲錯誤
來自於 1970-01-01 08:00:00
0
0
0
python相關問題求解決,有償
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板