最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python遞歸函數(shù)返回值為None問題及解決

 更新時間:2024年11月25日 10:00:01   作者:程序員貝塔  
文章主要討論了在Python中使用遞歸函數(shù)時可能出現(xiàn)的問題,特別是遞歸函數(shù)的返回值不符合預(yù)期的情況,文章通過一個具體的例子說明了這個問題,并解釋了如何通過在遞歸調(diào)用時加上return語句來解決這個問題

Python遞歸函數(shù)返回值為None

在使用 Python 開發(fā)的過程中,避免不了會用到遞歸函數(shù)。但遞歸函數(shù)的返回值有時會出現(xiàn)意想不到的情況。

舉一個例子

>>> def fun(i):
...     i += 1
...     if i < 5:
...         fun(i)
...     else:
...         return i
...
>>> r = fun(0)
>>> print(r)

比如上面這段代碼,乍一看沒什么問題,但返回值并不是我們期望的 5,而是 None。

>>> print(r)
None

解決這個問題也簡單

就是在執(zhí)行遞歸調(diào)用的時候,加上 return 語句。

修改之后的代碼

如下:

>>> def fun(i):
...     i += 1
...     if i < 5:
...         return fun(i)
...     else:
...         return i
...
>>> r = fun(0)
>>> print(r)
5

現(xiàn)在輸出的結(jié)果就符合我們的預(yù)期了。

最后補充一句,如果想要了解這背后深層的原理,可以看看函數(shù)調(diào)用棧相關(guān)的資料,這里就不過多介紹了。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

德江县| 开封市| 中方县| 南和县| 郓城县| 砀山县| 军事| 张北县| 镇安县| 洛扎县| 涿鹿县| 武冈市| 开化县| 浦北县| 通道| 稻城县| 寿宁县| 三门峡市| 邛崃市| 佛坪县| 泗洪县| 常德市| 旬阳县| 瑞丽市| 阿勒泰市| 横峰县| 平阴县| 乐陵市| 隆回县| 新宾| 开封县| 潜山县| 丰顺县| 新乡县| 海安县| 仲巴县| 德安县| 肥乡县| 康马县| 宁城县| 资兴市|