預設參數 對於參數有時候我們希望他是可選的,前面介紹了函數柯里化,當然還有其他的解決方案。如果不想給某些參數提供值的話,就讓這寫參數使用預設值。在函數定義的時候給參數賦值使用(參數,參數=值......),從而給形參指定預設值。 註意預設參數的值是一個不可變的參數(也就是說預設參數是一個確定的值)。 ...
預設參數
對於參數有時候我們希望他是可選的,前面介紹了函數柯里化,當然還有其他的解決方案。如果不想給某些參數提供值的話,就讓這寫參數使用預設值。在函數定義的時候給參數賦值使用(參數,參數=值......),從而給形參指定預設值。
註意預設參數的值是一個不可變的參數(也就是說預設參數是一個確定的值)。
#預設參數值 #對於參數 我們希望參數值是可選的智能的,如果使用者沒有提供參數值的時候,程式會使用預設的參數。使用的方法就是在函數定義形參的時候寫上(形參=預設值)即可 #註意預設值的參數不可變 def say(message,times = 1): print(message*times) say('Hello') say('World',5) #註意預設值參數只能是末尾的形參
運行結果
重要
只有在形參表末尾的那些參數可以有預設參數值,即你不能在聲明函數形參的時候,先聲明有預設值的形參而後聲明沒有預設值的形參。
這是因為賦給形參的值是根據位置而賦值的。例如,def
func(a, b=5)
是有效的,但是def func(a=5, b)
是 無效 的
關鍵參數
對於多參數的函數,我只想指定某個或某幾個參數的值,這時就可以使用命名給參數賦值,這樣被覆制的參數時關鍵參數。我們是使用關鍵字(參數名)而不是參數的位置來給函數指定實參。
優勢
1.不用擔心參數的順序,使使用函數變得簡單。
2.假設其他的參數都有預設值,我們可以只給我們想要的參數賦值。
print('========關鍵參數=========') #如果你的某個函數有許多參數,而你只想指定其中的一部分,那麼你可以通過命名來為這些參數賦值——這被稱作 關鍵參數 ——我們使用名字(關鍵字)而不是位置(我們前面所一直使用的方法)來給函數指定實參。 def func(a,b = 5,c = 10): print('a is',a,'and b is',b,'and c is',c) func(3,7) func(25,c = 24) func(c = 50,a = 100)
運行結果