python 之 函數 面向過程 三元表達式 函數遞歸

5.11 面向過程編程思想

核心是’過程’二字,過程即解決問題的步驟,即先干什麼,再干什麼…….. 基於面向過程編寫程序就好比在設計一條流水線,是一種机械式的思維方式。

總結優缺點: 優點:複雜的問題流程化,進而簡單化 缺點:修改一個階段,其他階段都有可能需要做出修改,牽一發而動全身,即擴展性極差 應用:用於擴展性要求低的場景

5.12 三元表達式

三元表達式僅應用於: 1、條件成立返回 一個值 2、條件不成立返回 一個值

條件成立的情況下返回的值 if 條件 else 條件不成立的情況下返回的值
def max2(x,y):
   return x if x > y else y
print(max2(10,11))
def max2(x,y):
   if x > y:
       return x
   else:
       return y
res=max2(10,11)
print(res)

5.13 函數遞歸

遞歸分為兩個階段 1、回溯: 注意:一定要在滿足某種條件結束回溯,否則的無限遞歸 2、遞推

items=[1,[2,[3,[4,[5,[6,[7,[8,[9,[10,]]]]]]]]]]
def tell(l):
   for item in l:
       if type(item) is not list:
           print(item)
       else:
           tell(item)

tell(items)
def age(n):
   if n == 1:
       return 18
   return age(n-1)+2 #age(4)+2

age(5)

總結: 1、遞歸一定要有一個明確地結束條件 2、每進入下一次遞歸,問題的規模都應該減少 3、在python中沒有尾遞歸優化

点赞

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *