Python 函數(shù)的遞歸詳解
函數(shù)調(diào)用自身的 編程技巧 稱為遞歸。
1.1、遞歸函數(shù)的特點(diǎn)
特點(diǎn):
一個(gè)函數(shù) 內(nèi)部 調(diào)用自己。
函數(shù)內(nèi)部可以調(diào)用其他函數(shù),當(dāng)然在函數(shù)內(nèi)部也可以調(diào)用自己。
代碼特點(diǎn):
1)、函數(shù)內(nèi)部的 代碼 是相同的,只是針對 參數(shù) 不同,處理的結(jié)果不同;
2)、當(dāng) 參數(shù)滿足一個(gè)條件 時(shí),函數(shù)不再執(zhí)行;
這個(gè)非常重要,通常被稱為遞歸的出口,否則 會(huì)出現(xiàn)死循環(huán)!
def sum_number(num): print(num) # 遞歸的出口,當(dāng)參數(shù)滿足某個(gè)條件時(shí),不再執(zhí)行函數(shù) if num == 1: return # 自己調(diào)用自己 sum_number(num - 1) sum_number(3)
1.2 遞歸案例 ----- 計(jì)算數(shù)字累加
需求:
1)、定義一個(gè)函數(shù) sum_numbers;
2)、能夠接收一個(gè) nums 的整數(shù)參數(shù);
3)、計(jì)算 1 + 2 = num 的結(jié)果;
# 定義一個(gè) 函數(shù) sum_numbers # 能夠接收一個(gè) num 的整數(shù)參數(shù) # 計(jì)算 1 + 2 + .... num的結(jié)果; def sum_numbers(num): # 1.出口 if num == 1: return 1 # 數(shù)字的累加 num + 1 (1....num - 1) # 假設(shè) sum_numbers 能夠正確的處理 1...num - 1 temp = sum_numbers(num - 1) # 兩個(gè)數(shù)字的相加 return num + temp result = sum_numbers(2) print(result)
提示:遞歸是一個(gè) 編程技巧,初次接觸遞歸會(huì)高級有些吃力 在處理 不確定的循環(huán)條件時(shí),例如:遍歷整個(gè)文件目錄的結(jié)構(gòu)。
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
Python實(shí)現(xiàn)將通信達(dá).day文件讀取為DataFrame
今天小編就為大家分享一篇Python實(shí)現(xiàn)將通信達(dá).day文件讀取為DataFrame,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12Tensorflow中批量讀取數(shù)據(jù)的案列分析及TFRecord文件的打包與讀取
這篇文章主要介紹了Tensorflow中批量讀取數(shù)據(jù)的案列分析及TFRecord文件的打包與讀取,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06Pandas之drop_duplicates:去除重復(fù)項(xiàng)方法
下面小編就為大家分享一篇Pandas之drop_duplicates:去除重復(fù)項(xiàng)方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04用Python創(chuàng)建簡易網(wǎng)站圖文教程
今天給大家?guī)淼氖顷P(guān)于Python的相關(guān)知識(shí),文章圍繞著用Python創(chuàng)建簡易網(wǎng)站展開,文中有非常詳細(xì)的介紹及圖文示例,需要的朋友可以參考下2021-06-06Python XML轉(zhuǎn)Json之XML2Dict的使用方法
今天小編就為大家分享一篇Python XML轉(zhuǎn)Json之XML2Dict的使用方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01Python中處理unchecked未捕獲異常實(shí)例
這篇文章主要介紹了Python中處理unchecked未捕獲異常實(shí)例,本文講解使用回調(diào)或者是鉤子來處理unchecked異常,需要的朋友可以參考下2015-01-01