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和学号就行了。