Python 預設引數值

2021-09-19 20:05:21 字數 795 閱讀 7400

預設引數值

python 預設引數值,對於一些函式來說,你可能為希望使一些引數可選並使用預設的值,以避免使用者不想為他們提供值的情況。預設引數值可以有效幫助解決這一情況。你可以通過在函式定義時附加乙個賦值運算子(=)來為引數指定預設引數值。

要注意到,python預設引數值應該是常數。更確切地說,預設引數值應該是不可變的——這將在python教程後面的章節中予以更詳細的解釋。就目前來說,只要記住就行了。

案例(儲存為 function_default.py):

print(message * times)

say('hello')

say('world', 5)

輸出:

hello

worldworldworldworldworld

它是如何工作的

python中名為 say 的函式用以按照給定的次數列印一串字串。如果我們沒有提供乙個數值,則將按照預設設定,只列印一次字串。我們通過為引數 times 指定預設引數值 1 來實現這一點。

在第一次使用 say 時,我們只提供字串因而函式只會將這個字串列印一次。在第二次使用 say 時,我們既提供了字串,同時也提供了乙個引數 5,宣告我們希望說(say)這個字串五次。

注意只有那些位於引數列表末尾的引數才能被賦予預設引數值,意即在函式的引數列表中擁有預設引數值的引數不能位於沒有預設引數值的引數之前。

這是因為值是按引數所處的位置依次分配的。舉例來說,def func(a, b=5) 是有效的,但 def func(a=5, b) 是無效的。

python 預設引數值 預設引數值

該樓層疑似違規已被系統摺疊 隱藏此樓檢視此樓 最常用的一種形式是為乙個或多個引數指定預設值。這會建立乙個可以使用比定義時允許的引數更少的引數呼叫的函式,例如 def ask ok prompt,retries 4,complaint yes or no,please while true ok in...

Python函式預設引數值

python的函式機制提供了可選引數的功能,可選引數需要放在引數列表的後幾個引數。當呼叫這些函式時,如果不想設定這些引數,就可以不用設定而直接使用函式定義的時候設定的引數預設值。同樣的,呼叫函式的時候也可以重新設定引數,這將覆蓋預設設定的引數。def func x,y 2 print x y fun...

python 預設引數 Python預設引數有坑?

最近有小夥伴在面試中遇到了 關於函式預設引數的坑 的題目,少數夥伴對此問題理得不是太清楚,今天匯智妹請到匯智動力高階教師鄧老師為大家詳細講解一下,幫助不太清楚的小夥伴清晰的梳理一遍。鄧老師本次主要從以下三點來講解 什麼是預設引數?函式預設引數的坑是什麼?函式預設引數為什麼會有坑?一 什麼是預設引數 ...