python之工廠函數
本人也是小白一個,最近在學習python工廠函數時隨便在網上搜了搜,發現許多人對工廠函數的理解存在誤區,同時也是為了整理和記錄自己的思路,寫下本片博文。
工廠函數顧名思義就是一個能產生函數的工廠,其目的是對一個需要輸入多個參數的函數分類封裝,不同使用者只需要輸入更少的參數或單個參數就能調用。
方法:利用python函數輸出可以是函數的功能,將某些參數傳入,輸出一個封裝好的針對專門用戶的函數,更方便用戶使用。
工廠函數實現方法:
例如,學校學生成績查詢系統有一個函數如下:
def gradeCheck(instituteID,clasID,studentID): #instituteID表示學院ID號,clasID表示班級ID號,studentID是學號
institute=instituteID
clas=clasID
stuedent=studentID
result='實現成績查詢'
return result
顯然,對於某系院系而言,他們並不關心其他學院的ID,所以針對某些具體學院就可以以上述函數為基礎,產生一系列函數,以方便學院子系統調用。舉例如下:
對於學院ID分別為9522,9523,9524的學院子系統設計查詢函數如下:
#生成各院校子系統函數
def radeCheck9522(clasID,studentID):
institute=9522
return gradeCheck(institute,clasID,studentID)
def radeCheck9523(clasID,studentID):
institute=9523
return gradeCheck(institute,clasID,studentID)
def radeCheck9524(clasID,studentID):
institute=9524
return gradeCheck(institute,clasID,studentID)
#調用:
grade1=radeCheck9522("#clasIDn","studentIDn") #參數表中輸入實際的班級ID和學號
grade2=radeCheck9523("clasIDn","studentIDn") #參數表中輸入實際的班級ID和學號
grade3=radeCheck9524("clasIDn","studentIDn") #參數表中輸入實際的班級ID和學號
看見沒,猶如工廠生產產品一樣,一些列函數就產生了。新產生的函數只需要輸入班級ID和學號就行了。