#!/usr/bin/python
# Filename: func_default.py
def say(message, times = 1):
print message * times
say('Hello')
say('World', 5)
(源文件:code/func_default.py)
輸出
$ python func_default.py
Hello
WorldWorldWorldWorldWorld
它如何工作
名為 say 的函數(shù)用來打印一個字符串任意所需的次數(shù)。如果我們不提供一個值,那么默認地,字符串將只被打印一遍。我們通過給形參 times 指定默認參數(shù)值1來實現(xiàn)這一功能。
在第一次使用 say 的時候,我們只提供一個字符串,函數(shù)只打印一次字符串。在第二次使用 say 的時候,我們提供了字符串和參數(shù) 5,表明我們想要 說 這個字符串消息5遍。
重要 只有在形參表末尾的那些參數(shù)可以有默認參數(shù)值,即你不能在聲明函數(shù)形參的時候,先聲明有默認值的形參而后聲明沒有默認值的形參。 這是因為賦給形參的值是根據(jù)位置而賦值的。例如,def func(a, b=5)是有效的,但是 def func(a=5, b)是 無效 的。