真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python 遞歸函數(shù)返回值為 None 的解決辦法

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

專(zhuān)注于為中小企業(yè)提供成都網(wǎng)站制作、網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)長(zhǎng)寧免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了近1000家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

下面來(lái)舉一個(gè)例子:

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

比如上面這段代碼,乍一看沒(méi)什么問(wèn)題,但返回值并不是我們期望的 5,而是 None

>>> print(r)
None

要解決這個(gè)問(wèn)題也簡(jiǎn)單,就是在執(zhí)行遞歸調(diào)用的時(shí)候,加上 return 語(yǔ)句。

修改之后的代碼如下:

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

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

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

本文就到這里了,如果覺(jué)得有用的話歡迎點(diǎn)贊,轉(zhuǎn)發(fā)關(guān)注,謝謝。


推薦閱讀:

  • 計(jì)算機(jī)經(jīng)典書(shū)籍
  • 技術(shù)博客: 硬核后端開(kāi)發(fā)技術(shù)干貨,內(nèi)容包括 Python、Django、Docker、Go、Redis、ElasticSearch、Kafka、Linux 等。
  • Go 程序員: Go 學(xué)習(xí)路線圖,包括基礎(chǔ)專(zhuān)欄,進(jìn)階專(zhuān)欄,源碼閱讀,實(shí)戰(zhàn)開(kāi)發(fā),面試刷題,必讀書(shū)單等一系列資源。
  • 面試題匯總: 包括 Python、Go、Redis、MySQL、Kafka、數(shù)據(jù)結(jié)構(gòu)、算法、編程、網(wǎng)絡(luò)等各種常考題。

新聞標(biāo)題:Python 遞歸函數(shù)返回值為 None 的解決辦法
文章來(lái)源:http://weahome.cn/article/dsojooo.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部