python的函數(shù)

1.定義函數(shù)

在Python中可以使用def關(guān)鍵字來(lái)定義函數(shù)刊殉,和變量一樣每個(gè)函數(shù)也有一個(gè)響亮的名字官套,而且命名規(guī)則跟變量的命名規(guī)則是一致的颖变。在函數(shù)名后面的圓括號(hào)中可以放置傳遞給函數(shù)的參數(shù)咸产,這一點(diǎn)和數(shù)學(xué)上的函數(shù)非常相似,程序中函數(shù)的參數(shù)就相當(dāng)于是數(shù)學(xué)上說(shuō)的函數(shù)的自變量,而函數(shù)執(zhí)行完成后我們可以通過(guò)return關(guān)鍵字來(lái)返回一個(gè)值眼虱,這相當(dāng)于數(shù)學(xué)上說(shuō)的函數(shù)的因變量。
既然定義明白了那么我們現(xiàn)在寫(xiě)一個(gè)簡(jiǎn)單的求階乘的方法

def factorial (num ):
    result = 1 
    for i in range(1,num+1):
         result *= i
    return result 



#這個(gè)是測(cè)試的方法
print(factorial(2))

2.函數(shù)的參數(shù)

函數(shù)是絕大多數(shù)編程語(yǔ)言中都支持的一個(gè)代碼的“構(gòu)建塊”席纽,但是Python中的函數(shù)與其他語(yǔ)言中的函數(shù)還是有很多不太相同的地方捏悬,其中一個(gè)顯著的區(qū)別就是Python對(duì)函數(shù)參數(shù)的處理。在Python中润梯,函數(shù)的參數(shù)可以有默認(rèn)值过牙,也支持使用可變參數(shù),所以Python并不需要像其他語(yǔ)言一樣支持函數(shù)的重載纺铭,因?yàn)槲覀冊(cè)诙x一個(gè)函數(shù)的時(shí)候可以讓它有多種不同的使用方式寇钉,下面是兩個(gè)小例子。

def add (a=0 ,b=0,c=0):
    return a + b +c
#咱們可以輸入任意數(shù)量的參數(shù)
print(add())
print(add(1))
print(add(1,2))
print(add(1,2,3))
#可以改變參數(shù)的順序
print(add(b=3,a=4,c=5))

我們給上面兩個(gè)函數(shù)的參數(shù)都設(shè)定了默認(rèn)值舶赔,這也就意味著如果在調(diào)用函數(shù)的時(shí)候如果沒(méi)有傳入對(duì)應(yīng)參數(shù)的值時(shí)將使用該參數(shù)的默認(rèn)值扫倡,所以在上面的代碼中我們可以用各種不同的方式去調(diào)用add函數(shù),這跟其他很多語(yǔ)言中函數(shù)重載的效果是一致的竟纳。

其實(shí)上面的add函數(shù)還有更好的實(shí)現(xiàn)方案撵溃,因?yàn)槲覀兛赡軙?huì)對(duì)0個(gè)或多個(gè)參數(shù)進(jìn)行加法運(yùn)算,而具體有多少個(gè)參數(shù)是由調(diào)用者來(lái)決定锥累,我們作為函數(shù)的設(shè)計(jì)者對(duì)這一點(diǎn)是一無(wú)所知的缘挑,因此在不確定參數(shù)個(gè)數(shù)的時(shí)候,我們可以使用可變參數(shù)桶略,代碼如下所示语淘。

# 在參數(shù)前使用*表示args是可變參數(shù)
# 也就是說(shuō)調(diào)用add函數(shù)時(shí)傳入的參數(shù)個(gè)數(shù)可以是0個(gè)或多個(gè)
def add(*args):
    total = 0
    for val in args:
        total += val
    return total


print(add())
print(add(1))
print(add(1, 2))
print(add(1, 2, 3))
print(add(1, 3, 5, 7, 9))
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市际歼,隨后出現(xiàn)的幾起案子惶翻,更是在濱河造成了極大的恐慌,老刑警劉巖蹬挺,帶你破解...
    沈念sama閱讀 221,888評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件维贺,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡巴帮,警方通過(guò)查閱死者的電腦和手機(jī)溯泣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)榕茧,“玉大人垃沦,你說(shuō)我怎么就攤上這事∮醚海” “怎么了肢簿?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,386評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我池充,道長(zhǎng)桩引,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,726評(píng)論 1 297
  • 正文 為了忘掉前任收夸,我火速辦了婚禮坑匠,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘卧惜。我一直安慰自己厘灼,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,729評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布咽瓷。 她就那樣靜靜地躺著设凹,像睡著了一般。 火紅的嫁衣襯著肌膚如雪茅姜。 梳的紋絲不亂的頭發(fā)上闪朱,一...
    開(kāi)封第一講書(shū)人閱讀 52,337評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音匈睁,去河邊找鬼监透。 笑死,一個(gè)胖子當(dāng)著我的面吹牛航唆,可吹牛的內(nèi)容都是我干的胀蛮。 我是一名探鬼主播,決...
    沈念sama閱讀 40,902評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼糯钙,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼粪狼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起任岸,我...
    開(kāi)封第一講書(shū)人閱讀 39,807評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤再榄,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后享潜,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體困鸥,經(jīng)...
    沈念sama閱讀 46,349評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,439評(píng)論 3 340
  • 正文 我和宋清朗相戀三年剑按,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了疾就。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,567評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡艺蝴,死狀恐怖猬腰,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情猜敢,我是刑警寧澤姑荷,帶...
    沈念sama閱讀 36,242評(píng)論 5 350
  • 正文 年R本政府宣布盒延,位于F島的核電站,受9級(jí)特大地震影響鼠冕,放射性物質(zhì)發(fā)生泄漏添寺。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,933評(píng)論 3 334
  • 文/蒙蒙 一供鸠、第九天 我趴在偏房一處隱蔽的房頂上張望畦贸。 院中可真熱鬧,春花似錦楞捂、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,420評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至君账,卻和暖如春繁堡,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背乡数。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,531評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工椭蹄, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人净赴。 一個(gè)月前我還...
    沈念sama閱讀 48,995評(píng)論 3 377
  • 正文 我出身青樓绳矩,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親玖翅。 傳聞我的和親對(duì)象是個(gè)殘疾皇子翼馆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,585評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容