内容正文:
单例模式
课程名称
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.使用修饰器实现单例模式
$$