基於微軟ling框架下的函式式程式設計思想
核心思想:函式作為引數
假設現在有乙個問題:
定義乙個函式,可以根據所給條件條件返回學生物件:
#直觀的做法:
def get_students01(list_stu):
for item in list_stu:
if item.age > 25:#變化的條件
yield item
提取變化,進行單獨封裝:
def condition01(item):
return item.age > 25
直接呼叫變化:
def get_students01(list_stu):
for item in list_stu:
if condition01(item):
yield item
還是很麻煩!!!
用引數func_condition抽象代表各種條件:
def get_students(list_stu,func_condition):
for item in list_stu:
if func_condition(item):
yield item
直接以改變傳參來改變條件:
re02 = get_students(studs,condition01)
for item in re02: #用for函式呼叫__next__()內建函式:
print(item)
以lambda函式來進行傳參:
re02 =get_students(studs,lambda item:item.age>25)
for item in re02:
print(item)
可以將所有函式方法放入乙個類中,以便日後呼叫:
class method:
def get_students(list_stu,func_condition):
for item in list_stu:
if func_condition(item):
yield item
呼叫:
re03=method.get_students(studs,lambda item:item.age>25)
for item in studs:
print(item)
總結:1.找出變化點
2.將變化的條件單獨封裝成函式
3.將函式作為引數傳給另乙個函式
4.善於使用lambda函式代替條件函式功能
5.將經常使用的函式方法單獨儲存
基於MFC框架下OpenGL的exe可移植
以前寫了幾個mfc框架下的opengl小專案,但是移植exe的時候總需要copy很多dll檔案,感覺太low,於是今天就抽時間解決了這個問題。我們了解一下關於mfc的兩個執行機制 一 mfc庫鏈結方式 1 靜態連線 把需要的mfc庫函式放進你的exe之中,這樣,在mfc庫函式檔案不在的情況下,你的e...
基於SSH2框架下的 使用者註冊 驗證碼功能
jsp頁面 驗證碼 js 驗證碼 chknumber click function struts.xml檔案配置 image jpeg inputstream action處理 輸出流 private bytearrayinputstream inputstream 驗證碼獲取 public str...
Qt log2000 介面框架下的函式指標初探
qt c 11 c 函式指標 實驗環境 qt5.8.0 支援c 11 ubuntu 14.04 64bit 首先在qt creator中新建乙個project,取預設的mainwindow型別 include mainwindow.h int main int argc,char argv 編譯肯定...