函數(shù)是Python編程的核心內(nèi)容之一沛膳,本文首先為讀者介紹什么是函數(shù)扁远,然后詳細介紹函數(shù)的定義和調(diào)用方法俊鱼,最后,通過實例來運用函數(shù)畅买。
一并闲、什么是函數(shù)(What)
通俗地說,函數(shù)就是完成特定功能的一個語句組谷羞,這組語句可以作為一個單位使用帝火,并且給它取一個名字,這樣,我們就可以通過函數(shù)名在程序的不同地方多次執(zhí)行(這通常叫做函數(shù)調(diào)用)犀填,卻不需要在所有地方都重復編寫這些語句(重用)蠢壹。另外,每次使用函數(shù)時可以提供不同的參數(shù)作為輸入宏浩,以便對不同的數(shù)據(jù)進行處理知残;函數(shù)處理后,還可以將相應的結(jié)果反饋給我們比庄。
有些函數(shù)是我們自己編寫的求妹,通常我們稱之為自定義函數(shù);此外佳窑,系統(tǒng)也自帶了一些函數(shù)制恍,還有一些第三方編寫的函數(shù),如其他程序員編寫的一些函數(shù)神凑,我們稱為預定義的Python函數(shù)净神,對于這些現(xiàn)成的函數(shù)我們可以直接拿來使用。
二溉委、為什么使用函數(shù)(Why)
我們之所以使用函數(shù)鹃唯,主要是出于兩個方面的考慮:
一是為了降低編程的難度,通常將一個復雜的大問題分解成一系列更簡單的小問題瓣喊,然后將小問題繼續(xù)劃分成更小的問題坡慌,當問題細化為足夠簡單時,我們就可以分而治之藻三。這時洪橘,我們可以使用函數(shù)來處理特定的問題,各個小問題解決了棵帽,大問題也就迎刃而解了熄求。
二是代碼重用。我們定義的函數(shù)可以在一個程序的多個位置使用逗概,也可以用于多個程序弟晚。此外,我們還可以把函數(shù)放到一個模塊中供其他程序員使用仗谆,同時指巡,我們也可以使用其他程序員定義的函數(shù)。這就避免了重復勞動隶垮,提供了工作效率。
三秘噪、函數(shù)的定義和調(diào)用(How)
函數(shù)的定義:
可以根據(jù)自己想要的功能定義相應的函數(shù)狸吞,以下是簡單的規(guī)則:
1、函數(shù)代碼塊以 def 關(guān)鍵詞開頭,后接函數(shù)標識符名稱和圓括號()蹋偏。
2便斥、任何傳入?yún)?shù)和自變量必須放在圓括號中間。圓括號之間可以用于定義參數(shù)威始。
3枢纠、函數(shù)的第一行語句可以選擇性地使用文檔字符串—用于存放函數(shù)說明。
4黎棠、函數(shù)內(nèi)容以冒號起始晋渺,并且縮進。
5脓斩、return [表達式] 結(jié)束函數(shù)木西,選擇性地返回一個值給調(diào)用方。不帶表達式的return相當于返回 None随静。
函數(shù)的語法:
def 函數(shù)名(參數(shù)列表):
? ? ?函數(shù)體
其中八千,函數(shù)名可以是任何有效的Python標識符;參數(shù)列表是調(diào)用該函數(shù)時傳遞給它的值燎猛,可以由多個恋捆、一個或零個參數(shù)組成,當有多個參數(shù)時各個參數(shù)由逗號分隔重绷;圓括號是必不可少的沸停,即使沒有參數(shù)也不能沒有它;函數(shù)體是函數(shù)每次被調(diào)用時執(zhí)行的代碼论寨,可以由一個語句或多個語句組成星立,函數(shù)體一定要注意縮進。此外葬凳,初學者一定要記得圓括號后面的冒號绰垂,否則忘記會導致語法錯誤。
下面舉一個簡單的函數(shù)實例:
def myadd(x,y):
? ? return x+y
函數(shù)的調(diào)用:
函數(shù)名加括號
以上面的實例為例去調(diào)用:
ret=myadd(1,2)
print(ret)? ? ?#3
參數(shù)傳遞:
以下是調(diào)用函數(shù)時可使用的正式參數(shù)類型:
必備參數(shù)
關(guān)鍵字參數(shù)
默認參數(shù)
不定長參數(shù)
必備參數(shù):
必備參數(shù)須以正確的順序傳入函數(shù)火焰。調(diào)用時的數(shù)量必須和聲明時的一樣劲装。
調(diào)用函數(shù),你必須傳入一個參數(shù)昌简,不然會出現(xiàn)語法錯誤:
def sayhi(str):
? ? print(str)
? ? return?
sayhi()
報錯信息:
關(guān)鍵字參數(shù):
關(guān)鍵字參數(shù)和函數(shù)調(diào)用關(guān)系緊密占业,函數(shù)調(diào)用使用關(guān)鍵字參數(shù)來確定傳入的參數(shù)值。
使用關(guān)鍵字參數(shù)允許函數(shù)調(diào)用時參數(shù)的順序與聲明時不一致纯赎,因為 Python 解釋器能夠用參數(shù)名匹配參數(shù)值谦疾。
以下實例在函數(shù) hi() 調(diào)用時使用參數(shù)名:
def hi(name,age):
? ? print("name:",name)
? ? print("age:", age)
hi(name="alex",age=18)
默認參數(shù):
調(diào)用函數(shù)時,默認參數(shù)的值如果沒有傳入犬金,則被認為是默認值念恍。下例會打印默認的age六剥,如果age沒有被傳入:
結(jié)果:
不定長參數(shù):
你可能需要一個函數(shù)能處理比當初聲明時更多的參數(shù)。這些參數(shù)叫做不定長參數(shù)峰伙,和上述2種參數(shù)不同疗疟,聲明時不會命名⊥ィ基本語法如下:
加了星號(*)的變量名會存放所有未命名的變量參數(shù)策彤。不定長參數(shù)實例如下:
結(jié)果:
小猿圈python函數(shù)一就到這里,接下來會更新函數(shù)二哦匣摘,小編的文章主要針對自學的小白店诗,從簡單學習,一步一深入恋沃,如果感覺看書或者看文章勾不起你的學習的動力必搞,可在小猿圈上學習,很多視頻資料幫助你學習囊咏,希望你通過認真的學習和自己的不懈努力更上一層樓恕洲,也可以加入python自學交流QQ群:242719133,遇到難題和群里朋友們交流梅割,解決你的絆腳石霜第,加油~~