一、函數(shù)的基本使用
函數(shù)是一段具有特定功能的、可重用的語句組,通過函數(shù)名來表示和調(diào)用。經(jīng)過定義,一組語句等價(jià)于一個(gè)函數(shù),在需要使用這組語句的地方,直接調(diào)用函數(shù)名稱即可。
Python定義一個(gè)函數(shù)使用def保留字
? ??????????????????????????????????????????????????????????????????????????????????????????????????def 函數(shù)名 (參數(shù)):
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 函數(shù)體
? ????????????????????????????????????????????????????????????????????????????????????????????????????????return返回值列表

函數(shù)名可以是任何有效的Python標(biāo)識符
參數(shù)列表是調(diào)用該函數(shù)時(shí)傳遞給它的值,可以有零個(gè)、一個(gè)或多個(gè),當(dāng)傳遞多個(gè)參數(shù)時(shí)各參數(shù)由逗號分隔,當(dāng)沒有參數(shù)時(shí)也要保留圓括號。
函數(shù)體是函數(shù)每次被調(diào)用時(shí)執(zhí)行的代碼,由一行或多行語句組成。
如果需要返回值,使用保留字return和返回值列表。函數(shù)可以沒有return語句,函數(shù)體結(jié)束后會將控制權(quán)返回給調(diào)用者。
二、函數(shù)的參數(shù)傳遞?
函數(shù)的參數(shù)在定義時(shí)可以指定默認(rèn)值,當(dāng)函數(shù)被調(diào)用時(shí),如果沒有傳入對應(yīng)的參數(shù)值,則使用函數(shù)定義時(shí)的默認(rèn)值替代。
????????????????????????????????????????????????????????????????????????????????????def 函數(shù)名(非可選參數(shù)列表, 可選參數(shù)= 默認(rèn)值):
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 函數(shù)體
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? return返回值列表
?可選參數(shù)一般都放置在非可選參數(shù)的后面,即定義函數(shù)時(shí),先給出所有非可選參數(shù),然后再分別列出每個(gè)可選參數(shù)及對應(yīng)的默認(rèn)值。
?Python語言同時(shí)支持函數(shù)按照參數(shù)名稱方式傳遞參數(shù)
return語句可以出現(xiàn)在函數(shù)中的任何部分,同時(shí)可以將0個(gè)、1個(gè)或多個(gè)函數(shù)運(yùn)算的結(jié)果返回給函數(shù)被調(diào)用處的變量。
函數(shù)可以沒有return,此時(shí)函數(shù)并不返回值。當(dāng)函數(shù)使用return返回多個(gè)值,可以使用一個(gè)變量或多個(gè)變量保存結(jié)果。
三、變量的作用域
根據(jù)程序中變量所在的位置和作用范圍,變量分為局部變量和全局變量。
局部變量指在函數(shù)內(nèi)部使用的變量,僅在函數(shù)內(nèi)部有效,當(dāng)函數(shù)退出時(shí)變量將不再存在。
全局變量指在函數(shù)之外定義的變量,在程序執(zhí)行全過程有效。全局變量在函數(shù)內(nèi)部使用時(shí),需要提前使用保留字global聲明。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?global 全局變量