面向過程程式設計,函式式程式設計
峰哥原創面向過程解釋:
函式的引數傳入,是函式吃進去的食物,而函式return的返回值,是函式拉出來的結果,面向過程的思路就是,把程式的執行當做一串首尾相連的函式,乙個函式吃,拉出的東西給另外乙個函式吃,另外乙個函式吃了再繼續拉給下乙個函式吃。。。
面向過程:機械式思維,流水線式程式設計
例如:使用者登入流程:前端接收處理使用者請求-》將使用者資訊傳給邏輯層,邏輯詞處理使用者資訊-》將使用者資訊寫入資料庫
驗證使用者登入流程:資料庫查詢/處理使用者資訊-》交給邏輯層,邏輯層處理使用者資訊-》使用者資訊交給前端,前端顯示使用者資訊
函式式程式設計:
#無函式
[0, 1, 4, 9, 16]
#如果我們有一萬個列表,那麼你只能把上面的邏輯定義成函式
#如果我們的需求變了,不是把列表中每個元素都平方,還有加1,減一,那麼可以這樣
lis=[2,4,6,10,8]defadd_num(x):
return x+1
deffun(func,array):
li=for i in
lis:
return
liprint
(fun(add_num,lis))
print(fun(lambda x:x+1,lis))
#可以使用匿名函式
print(fun(lambda x:x+1,lis))
#上面就是map函式的功能,map得到的結果是可迭代物件
print(map(lambda x:x-1,range(5)))
filter()函式用於過濾序列,過濾掉不符合條件的元素,返回由符合條件元素組成的新列表。
該接收兩個引數,第乙個為函式,第二個為序列,序列的每個元素作為引數傳遞給函式進行判,然後返回 true 或 false,最後將返回 true 的元素放到新列表中。
#sb_xiang,xb_xiang,wang , 過濾掉帶有sb的字串
lis=["sb_xiang","wang","sb_shuang"]sb
"),lis)))
程式設計正規化 面向過程與函式式
一 面向過程 基於面向過程開發程式就好比在設計一條流水線,若程式一開始是要著手解決乙個大的問題,按照過程式的思路就是把這個大的問題分解成很多個小問題或子過程去實現,然後依次呼叫即可,這極大地降低了程式的複雜度。舉例如下 寫乙個資料遠端備份程式,分三步 本地資料打包,上傳至雲伺服器,檢測備份檔案可用性...
函式式程式設計vs物件導向程式設計
什麼是物件導向,其實我也不是很懂,我以前一直認為物件導向就是繼承,而繼承就是虛函式,有時候在思考,真的是這樣子的嗎?錯了,不管虛函式的機制是為了繼承和多型而服務,而繼承和多型確實為了oo的思想而服務,怎麼說呢?我們都知道,當我們都知道學生a,b,c,d 都是學生,並且他們有一些共同的屬性,比如年齡,...
函式式程式設計 vs 物件導向程式設計
身為乙個程式設計師,我個人很喜歡早洗澡的時候去思考一些技術上的東西,今天有人問我什麼是物件導向,其實我也不是很懂,我以前一直認為物件導向就是繼承,而繼承就是虛函式,但是我洗澡的時候在思考,真的是這樣子的嗎?錯了,不管虛函式的機制是為了繼承和多型而服務,而繼承和多型確實為了oo的思想而服務,怎麼說呢?...