25 单例模式.(教案)-《程序设计基础(Python)》同步教学(电子工业版)

2024-08-03
| 10页
| 41人阅读
| 11人下载
普通

内容正文:

单例模式 课程名称 Python语言程序 教学内容 单例模式 课时 1 项目性质 □演示性 □验证性 □设计性 √综合性 授课班级 授课日期 授课地点 教学目标 1)使用模块实现单例模式 2)使用修饰器实现单例模式 教学内容 1.借用Pycharm工具,建立Python3项目 2.定义一个基础类 3.使用模块实现单例模式 4.使用修饰器实现单例模式 教学重点 教学难点 教学准备 装有Python的计算机 教学课件PPT 2 学科网(北京)股份有限公司 教学过程 教学环节 教学内容与过程 (教学内容、教学方法、组织形式、教学手段) 课前组织 做好上课前的各项准备工作(打开计算机、打开课件、打开软件、打开授课计划、教案等),吸引学生注意力。 课程说明 【目的】 使学生从了解本节课的学习目标、学习重点、考评方式等方面明确课程学习的要求和目标。 课程内容描述 1)打开IDE,配置解释器(如已完成解释器配置,可跳过解释器配置步骤) 1.点击桌面pycharm图标打开IDE 2.在打开的窗口中选择Configure选项,接着在弹出的下拉菜单中选择Settings打开首选项菜单 3.首选项菜单中选择左侧的Project Interpreter,在右侧下拉菜单中选择3.6.5版本解释器,并依次点击Apply与OK确认设置 2)新建Project(如已完成工程创建,可跳过此步骤) 1.点击Create New Project新建工程 2.在Location文本框中补充输入project,表示将/root/PycharmProjects/project作为新工程目录,并点击create完成创建 3)新建python源代码文件 1.鼠标右键单击project工程,在菜单中选择New->Python File创建.py文件 2.在弹出窗口的Name文本框中输入.py文件的文件名,本次实验推荐文件名为“Singleton“。接着点击OK按钮完成python源文件的创建。创建成功后,会默认在右侧编辑区域打开该文件 4)编写实验代码 1.输入如下代码 [Code 001]: # 定义一个基础类 class Singleton(object): def foo(self): pass 2.输入如下代码 [Code 002]: # 创建一个Singleton类的实例 singleton = Singleton() 3.输入如下代码 [Code 003]: # 打印singleton实例,该实例即为单例实例 print(singleton) 4.输入如下代码 [Code 004]: # 定义Singleton函数为装饰器函数,该函数用于判断被修饰类是否已创建实例,如果已创建实例,则返回该实例,否则返回一个新实例 def Singleton(cls): _instance = {} def _singleton(*args, **kargs): if cls not in _instance: _instance[cls] = cls(*args, **kargs) return _instance[cls] return _singleton 5.输入如下代码 [Code 005]: # 定义SingletonObject类,并使用修饰器进行修饰 @Singleton class SingletonObjet(object): def __init__(self, variable=0): self.variabl5e = variable 6.输入如下代码 [Code 006]: # 创建两个SingletonObject类实例,分别初始化实例的variable属性值,并打印 obj1 = SingletonObjet(2) obj2 = SingletonObjet(3) print(obj1.variable) print(obj2.variable) 7.完整代码如下图所示 5)执行程序 1.鼠标右键单击右侧编辑窗口,在菜单中选择Run ‘python主程序所在文件名’一项执行编写好的Python程序,本次实验文件名为Singelon” 2.在IDE下方控制台查看输出结果 总结评价 本讲主要学习了: 1.借用Pycharm工具,建立Python3项目 2.定义一个基础类 3.使用模块实现单例模式 4.使用修饰器实现单例模式 $$

资源预览图

25 单例模式.(教案)-《程序设计基础(Python)》同步教学(电子工业版)
1
25 单例模式.(教案)-《程序设计基础(Python)》同步教学(电子工业版)
2
25 单例模式.(教案)-《程序设计基础(Python)》同步教学(电子工业版)
3
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。