這篇文章帶給大家的內容是關於python函數參數預設值的用法及注意要點,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。
最有用的形式是對一個或多個參數指定一個預設值。這樣創建的函數,可以用比定義時允許的更少的參數調用,例如:
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('invalid user response') 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
關鍵字。它可以測試一個序列是否包含某個值。
預設值是在 定義過程 中在函數定義處計算的,所以
i = 5 def f(arg=i): print(arg) i = 6 f()
會列印 5。
重要警告:預設值只會執行一次。這條規則在預設值為可變物件(python列表、字典以及大多數類別實例)時很重要。例如,下面的函數會儲存在後續呼叫中傳遞給它的參數:
def f(a, L=[]): L.append(a) return L print(f(1)) print(f(2)) print(f(3))
[1] [1, 2] [1, 2, 3]
def f(a, L=None): if L is None: L = [] L.append(a) return L
以上是python函數參數預設值的用法及注意要點的詳細內容。更多資訊請關注PHP中文網其他相關文章!