日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python中的代码复用与函数递归

發布時間:2025/3/20 python 10 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python中的代码复用与函数递归 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

代碼復用與模塊化設計

  • 所謂的代復用,顧名思義,也就說同一份代碼在需要的時候可以被重復使用,有兩種形式:一個是函數,一個是對象。

  • 模塊化設計,簡單地來講,就是通過函數或對象封裝將程序劃分為模塊及模塊間的表達,這樣就有了兩種關系,一個是主程序與子程序之間的關系,一個是子程序和子程序之間的關系。

在模塊化設計的時候,我們需要注意模塊內部緊耦合,模塊之間松耦合。

函數遞歸的理解

函數遞歸就是在函數定義中調用函數自身的方式。

我們在編寫函數遞歸的時候,注意把握鏈條、基例這兩大關鍵特征。基例就是指那些不需要再次遞歸的部分,比如我們在編寫斐波那契數列的時候,當n=1,n=2時,f(1)=1;f(2)=2,這部分為基例;鏈條就是其余需要我們在函數中進行遞歸的部分。

函數遞歸的調用過程

  • 遞歸的實現:遞歸就是函數+分支語句

    遞歸本來就是一個函數,需要函數定義的方式進行描述;在函數內部,采用分支語句對輸入參數進行判斷。

函數遞歸的實例:漢諾塔

代碼如下

''' Python學習交流,免費公開課,免費資料, 免費答疑,系統學習加QQ群:579817333 '''count=0 def hanoi(n,src,dst,mid):global countif n==1:print("{}:{}-->{}".format(1,src,dst))count+=1else:hanoi(n-1,src,mid,dst)print("{}:{}-->{}".format(n,src,dst))count+=1hanoi(n-1,mid,dst,src) hanoi(3,"A","C","B") print(count)

漢諾塔的理解方式:

首先我們先假設一個圓盤的形式,那么我們就直接從第一根柱子挪到第三根柱子上面。如果我們有兩塊以上的圓盤(假設為n),這樣我們直接思考第n個圓盤和n-1個圓盤之間的關系,我們會發現他們之間的關系是,將n-1個圓盤放在第二根柱子上,把第n個圓盤放在第三根柱子上,然后再把n-1個圓盤放在第三根柱子上面。其余的步驟就類似了,就是我們只需要考慮n和n-1之間的關系。

總結

以上是生活随笔為你收集整理的python中的代码复用与函数递归的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。