Python 默认参数值
Python 默認參數(shù)值,對于一些函數(shù)來說,你可能為希望使一些參數(shù)可選并使用默認的值,以避免用戶不想為他們提供值的情況。默認參數(shù)值可以有效幫助解決這一情況。你可以通過在函數(shù)定義時附加一個賦值運算符(=)來為參數(shù)指定默認參數(shù)值。
要注意到,默認參數(shù)值應該是常數(shù)。更確切地說,默認參數(shù)值應該是不可變的——這將在Python教程后面的章節(jié)中予以更詳細的解釋。就目前來說,只要記住就行了。
案例(保存為?function_default.py):
def say(message, times=1):print(message * times)say('Hello') say('World', 5)?
輸出:
$ python function_default.py Hello WorldWorldWorldWorldWorld?
它是如何工作的
名為?say?的python函數(shù)用以按照給定的次數(shù)打印一串字符串。如果我們沒有提供一個數(shù)值,則將按照默認設(shè)置,只打印一次字符串。我們通過為參數(shù)?times?指定默認參數(shù)值?1?來實現(xiàn)這一點。
在第一次使用?say?時,我們只提供字符串因而函數(shù)只會將這個字符串打印一次。在第二次使用?say?時,我們既提供了字符串,同時也提供了一個參數(shù)?5,聲明我們希望說(Say)這個字符串五次。
注意
只有那些位于參數(shù)列表末尾的參數(shù)才能被賦予默認參數(shù)值,意即在函數(shù)的參數(shù)列表中擁有默認參數(shù)值的參數(shù)不能位于沒有默認參數(shù)值的參數(shù)之前。
這是因為值是按參數(shù)所處的位置依次分配的。舉例來說,def func(a, b=5)?是有效的,但?def func(a=5, b)?是無效的。
轉(zhuǎn)載于:https://www.cnblogs.com/yuanrenxue/p/10683442.html
總結(jié)
以上是生活随笔為你收集整理的Python 默认参数值的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SleuthQL 一个自动化执行导出扫描
- 下一篇: Python之PIL库的运用、GIF处理