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

5.11 面向過程編程思想

核心是'過程'二字,過程即解決問題的步驟,即先幹什麼,再幹什麼........ 基於面向過程編寫程序就比如在設計一條流水線,是一種機械式的思惟方式。python

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

5.12 三元表達式

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

條件成立的狀況下返回的值 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 函數遞歸

遞歸分爲兩個階段 一、回溯: 注意:必定要在知足某種條件結束回溯,不然的無限遞歸 二、遞推優化

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)

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

相關文章
相關標籤/搜索