【Python-编程模式】

news/2024/11/15 0:23:32/

Python-编程模式

  • ■ 单例模式
  • ■ 工厂模式

■ 单例模式

  1. 新建文件 str_tools.py 如下代码。
python">class StrTools:passstr_tool = StrTools()
  1. 在其他文件使用时导入该变量。
python">from str_tools_py import str_tool
s1 = str_tool
s2 = str_tool
print(id(s1))
print(id(s2))

■ 工厂模式

python">"""
演示设计模式之工厂模式
"""class Person:passclass Worker(Person):passclass Student(Person):passclass Teacher(Person):passclass PersonFactory:def get_person(self, p_type):if p_type == 'w':return Worker()elif p_type == 's':return Student()else:return Teacher()pf = PersonFactory()
worker = pf.get_person('w')
stu = pf.get_person('s')
teacher = pf.get_person('t')


http://www.ppmy.cn/news/1435476.html

相关文章

GitLab 卸载步骤 - 完全卸载

说明 本文介绍一下 gitlab 服务器的卸载步骤。 服务器 : Centos7。停止服务 gitlab-ctl stop卸载 rpm 软件 rpm -e gitlab-ce 查看进程 ps -ef | grep gitlab 干掉第一个 runsvdir -P /opt/gitlab/service log 进程删除 gitlab 残余的文件 find / -name *git…

组合总和III(Lc216)——剪枝+回溯

找出所有相加之和为 n 的 k 个数的组合,且满足下列条件: 只使用数字1到9每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次,组合可以以任何顺序返回。 示例 1: 输入: k 3, n 7 输出: [[1,2,4]] 解…

labview中循环停止事件的深入研究

1.错误用法 第一次值事件运行的时候空白按钮给的F值,第二次值事件运行的时候空白按钮给的T值,这时循环才真正结束。 2.正确用法之一 赋值和值改变事件从同时进行变成按顺序执行。 3.正确用法之二 值事件发生以后超时事件将T值赋值给结束条件&#xff…

文件包含漏洞基础

php 中的文件包含函数: incude : require incude_once require_once 为了减少重复性代码的编写; 任意后缀的文件当中只要存在 php 代码就会被当作 php 执行; 本质:由于包含的文件不可控,导致文件包含…

深入理解 Srping IOC

什么是 Spring IOC? IOC 全称:Inversion of Control,翻译为中文就是控制反转,IOC 是一种设计思想,IOC 容器是 Spring 框架的核心,它通过控制和管理对象之间的依赖关系来实现依赖注入(Dependenc…

CMakeLists.txt中如何添加编译选项?

1. 引子 编译器有多种可供选择,如g、c、clang等,如下以c作为示例。 2. 使用CMAKE_CXX_FLAGS添加编译选项 在Makefile中可能用类似如下的指令来添加编译选项: /usr/bin/c -Wall -Wextra -Wno-sign-compare -Wno-unused-variable -Wno-unuse…

创建第一个Vue3项目时遇到的报错及处理

其实主要就是针对命令:npm init vuelatest 的报错处理 受限自己电脑本身已经安装了node,npm,在环境搭建时,遇到了报错,如下: 我以为是这是个很简单的问题,看起来是npm的版本过低,升…

JavaScript、Java、C#标记过时方法

JavaScript、Java、C#标记过时方法 在JavaScript、Java和C#中,可以使用特定的注解或标记来表示一个方法是不推荐的,以便在使用该方法时发出警告或提示。虽然没有专门用于标记不推荐方法的内置标记,但是可以结合使用deprecated、[Obsolete]等…