該樓層疑似違規已被系統摺疊 隱藏此樓檢視此樓
最常用的一種形式是為乙個或多個引數指定預設值。這會建立乙個可以使用比定義時允許的引數更少的引數呼叫的函式,例如:
def ask_ok(prompt, retries=4, complaint='yes or no, please!'):
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 oserror('uncooperative user')
print(complaint)
這個函式可以通過幾種不同的方式呼叫:
只給出必要的引數:ask_ok('do you really want to quit?')
給出乙個可選的引數:ask_ok('ok to overwrite the file?', 2)
或者給出所有的引數:ask_ok('ok to overwrite the file?', 2, 'come on, only yes or no!')
這個例子還介紹了 in 關鍵字。它測定序列中是否包含某個確定的值。
預設值在函式 定義 作用域被解析,如下所示:
i = 5def f(arg=i): print(arg)i = 6f()
i = 5
def f(arg=i):
print(arg)
i = 6
f()將會輸出 5。
重要警告: 預設值只被賦值一次。這使得當預設值是可變物件時會有所不同,比如列表、字典或者大多數類的例項。例如,下面的函式在後續呼叫過程中會累積(前面)傳給它的引數:
def f(a, l=):
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 =
return l
Python 預設引數值
預設引數值 python 預設引數值,對於一些函式來說,你可能為希望使一些引數可選並使用預設的值,以避免使用者不想為他們提供值的情況。預設引數值可以有效幫助解決這一情況。你可以通過在函式定義時附加乙個賦值運算子 來為引數指定預設引數值。要注意到,python預設引數值應該是常數。更確切地說,預設引數...
Python函式預設引數值
python的函式機制提供了可選引數的功能,可選引數需要放在引數列表的後幾個引數。當呼叫這些函式時,如果不想設定這些引數,就可以不用設定而直接使用函式定義的時候設定的引數預設值。同樣的,呼叫函式的時候也可以重新設定引數,這將覆蓋預設設定的引數。def func x,y 2 print x y fun...
python 預設引數 Python預設引數有坑?
最近有小夥伴在面試中遇到了 關於函式預設引數的坑 的題目,少數夥伴對此問題理得不是太清楚,今天匯智妹請到匯智動力高階教師鄧老師為大家詳細講解一下,幫助不太清楚的小夥伴清晰的梳理一遍。鄧老師本次主要從以下三點來講解 什麼是預設引數?函式預設引數的坑是什麼?函式預設引數為什麼會有坑?一 什麼是預設引數 ...