从0开始的Python学习009参数
默認(rèn)參數(shù)
對于參數(shù)有時(shí)候我們希望他是可選的,前面介紹了函數(shù)柯里化,當(dāng)然還有其他的解決方案。如果不想給某些參數(shù)提供值的話,就讓這寫參數(shù)使用默認(rèn)值。在函數(shù)定義的時(shí)候給參數(shù)賦值使用(參數(shù),參數(shù)=值......),從而給形參指定默認(rèn)值。
注意默認(rèn)參數(shù)的值是一個(gè)不可變的參數(shù)(也就是說默認(rèn)參數(shù)是一個(gè)確定的值)。
#默認(rèn)參數(shù)值 #對于參數(shù) 我們希望參數(shù)值是可選的智能的,如果使用者沒有提供參數(shù)值的時(shí)候,程序會使用默認(rèn)的參數(shù)。使用的方法就是在函數(shù)定義形參的時(shí)候?qū)懮?#xff08;形參=默認(rèn)值)即可 #注意默認(rèn)值的參數(shù)不可變 def say(message,times = 1):print(message*times)say('Hello') say('World',5) #注意默認(rèn)值參數(shù)只能是末尾的形參運(yùn)行結(jié)果
重要
只有在形參表末尾的那些參數(shù)可以有默認(rèn)參數(shù)值,即你不能在聲明函數(shù)形參的時(shí)候,先聲明有默認(rèn)值的形參而后聲明沒有默認(rèn)值的形參。
這是因?yàn)橘x給形參的值是根據(jù)位置而賦值的。例如,def func(a, b=5)是有效的,但是def func(a=5, b)是 無效 的
關(guān)鍵參數(shù)
對于多參數(shù)的函數(shù),我只想指定某個(gè)或某幾個(gè)參數(shù)的值,這時(shí)就可以使用命名給參數(shù)賦值,這樣被復(fù)制的參數(shù)時(shí)關(guān)鍵參數(shù)。我們是使用關(guān)鍵字(參數(shù)名)而不是參數(shù)的位置來給函數(shù)指定實(shí)參。
優(yōu)勢
1.不用擔(dān)心參數(shù)的順序,使使用函數(shù)變得簡單。
2.假設(shè)其他的參數(shù)都有默認(rèn)值,我們可以只給我們想要的參數(shù)賦值。
print('========關(guān)鍵參數(shù)=========') #如果你的某個(gè)函數(shù)有許多參數(shù),而你只想指定其中的一部分,那么你可以通過命名來為這些參數(shù)賦值——這被稱作 關(guān)鍵參數(shù) ——我們使用名字(關(guān)鍵字)而不是位置(我們前面所一直使用的方法)來給函數(shù)指定實(shí)參。 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)運(yùn)行結(jié)果
?
轉(zhuǎn)載于:https://www.cnblogs.com/liuhappy/p/10612691.html
總結(jié)
以上是生活随笔為你收集整理的从0开始的Python学习009参数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python爬虫四 360关键字搜索
- 下一篇: 魔方世界集金灯、练级、爆装备的地图种子分