文档章节

python之工厂函数

o
 osc_y8yehimr
发布于 2019/03/20 15:41
字数 488
阅读 8
收藏 0

钉钉、微博极速扩容黑科技,点击观看阿里云弹性计算年度发布会!>>>

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

  

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
课时42:魔法方法:算术运算

目录:   一、算术运算符   二、课时41课后习题及答案 现在来讲一个新名词:工厂函数。Python2.2以后,对类和类型进行了统一,做法就是将int()、float()、str()、list()、tuple...

osc_tfl7c3xo
2018/08/24
1
0
Python学习笔记(2)-python对象

1.所有的Python 对像都拥有三个特性:身份,类型和值。 身份: 每一个对象都有一个唯一的身份标识自己,任何对象的身份可以使用内建函数id()来得到。 这个值可以被认为是该对象的内存地址。您...

山海经
2013/10/06
99
0
python 初级 阅读笔记

1、filter过滤函数, sort排序函数 2、python装饰器作用:python装饰器就是用于拓展原来函数功能的一种函数,这个函数的特殊之处在于它的返回值也是一个函数,使用python装饰器的好处就是在不...

fang_faye
2018/09/05
20
0
设计模式之单例模式与工厂模式的Python实现(二)

工厂模式 工厂模式是创建型设计模式的一种。核心的思想是,通过传递给类或函数某种产品的信息来创建产品并返回。当我们想得到产品a对象,只需把产品a的名字传递给工厂函数就能得到产品a对象。...

osc_gaqp1a2z
2018/10/12
2
0
python 生成器

python 生成器 python生成器 生成器 Python中提供的生成器: 1.生成器函数:常规函数定义,但是,使用yield语句而不是return语句返回结果。yield语句一次返回一个结果,在每个结果中间,挂起...

osc_4qn62tcp
2018/11/08
2
0

没有更多内容

加载失败,请刷新页面

加载更多

VB语言基础重要知识点12

我们课程,我们做一些针对于考试的简要讲解。 一、有关考试的几个问题 首先,提问:考试最重要的是什么? 答案其实很简单:得分!!!!! 想要得分,就要做到基本的保存。 保存哪些文件呢?...

刘金玉编程
2019/10/30
5
0
全网最全JAVA、Python电子书!限时领取,过时不候!

给大家整理了最全的入门+进阶书籍!!! 免费领取,无套路! 加微信发送“电子书” 秒通过,秒发资源! 本文分享自微信公众号 - Python进击者(JAVAandPythonJun)。 如有侵权,请联系 supp...

kuls
01/16
18
0
原创356--免费还是付费

最近得有一个星期,被一个录屏软件(record it)烦到了,本来免费版可以无限制录制,只能720p,GIF不支持,高清不支持,没有剪辑功能。 之前调研了好几种,用起来还是这个方便,就一直用了。...

八音弦
04/24
14
0
数字IC技术讨论群,设计和验证、前端和后端,总有你感兴趣的话题。快满了,需要的抓紧加入。

本文分享自微信公众号 - 白山头讲IC(gray_mount)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。...

白山头
04/29
5
0
how to install mongodb in centos7

[root@xtwj88 ~]# cat /etc/yum.repos.d/mongodb-org-4.2.repo [mongodb-org-4.2]name=MongoDB Repositorybaseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86......

qwfys
56分钟前
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部