Python函數(shù)基本使用原理詳解
1.什么是函數(shù)
函數(shù)就相當(dāng)于具備某一功能的工具
函數(shù)的使用必須遵循一個原則:
先定義
后調(diào)用
2.為何要用函數(shù)
1、組織結(jié)構(gòu)不清晰,可讀性差
2、代碼冗余
3、可維護(hù)性、擴(kuò)展性差
3、如何用函數(shù)
1.函數(shù)的定義
定義的語法
’’’
def 函數(shù)名(參數(shù)1,參數(shù)2,...):
'''文檔描述'''
函數(shù)體
return 值
1. def: 定義函數(shù)的關(guān)鍵字; 2. 函數(shù)名:函數(shù)名指向函數(shù)內(nèi)存地址,是對函數(shù)體代碼的引用。函數(shù)的命名應(yīng)該反映出函數(shù)的功能; 3. 括號:括號內(nèi)定義參數(shù),參數(shù)是可有可無的,且無需指定參數(shù)的類型; 4. 冒號:括號后要加冒號,然后在下一行開始縮進(jìn)編寫函數(shù)體的代碼; 5. '''文檔描述''': 描述函數(shù)功能,參數(shù)介紹等信息的文檔,非必要,但是建議加上,從而增強(qiáng)函數(shù)的可讀性; 6. 函數(shù)體:由語句和表達(dá)式組成; 7. return 值:定義函數(shù)的返回值,return是可有可無的。定義函數(shù)發(fā)生的事情
1、申請內(nèi)存空間保存函數(shù)體代碼
2、將上述內(nèi)存地址綁定函數(shù)名
3、定義函數(shù)不會執(zhí)行函數(shù)體代碼,但是會檢測函數(shù)體語法
2.函數(shù)調(diào)用
函數(shù)的使用分為定義階段與調(diào)用階段,定義函數(shù)時只檢測語法,不執(zhí)行函數(shù)體代碼,函數(shù)名加括號即函數(shù)調(diào)用,只有調(diào)用函數(shù)時才會執(zhí)行函數(shù)體代碼調(diào)用函數(shù)發(fā)生的事情
1、通過函數(shù)名找到函數(shù)的內(nèi)存地址
2、然后加口號就是在觸發(fā)函數(shù)體代碼的執(zhí)行
3.函數(shù)返回值
return是函數(shù)結(jié)束的標(biāo)志,即函數(shù)體代碼一旦運(yùn)行到return會立刻
終止函數(shù)的運(yùn)行,并且會將return后的值當(dāng)做本次運(yùn)行的結(jié)果返回:
# 1、返回None:函數(shù)體內(nèi)沒有return# return# return None# 2、返回一個值:return 值# def func():# return 10# res=func()# print(res)# 3、返回多個值:用逗號分隔開多個值,會被return返回成元組def func(): return 10, ’aa’, [1, 2]res = func()print(res, type(res))
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 在Android中使用WebSocket實(shí)現(xiàn)消息通信的方法詳解2. .NET中l(wèi)ambda表達(dá)式合并問題及解決方法3. Python importlib動態(tài)導(dǎo)入模塊實(shí)現(xiàn)代碼4. 淺談python出錯時traceback的解讀5. windows服務(wù)器使用IIS時thinkphp搜索中文無效問題6. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向7. Nginx+php配置文件及原理解析8. 利用promise及參數(shù)解構(gòu)封裝ajax請求的方法9. python matplotlib:plt.scatter() 大小和顏色參數(shù)詳解10. JSP數(shù)據(jù)交互實(shí)現(xiàn)過程解析
