python设计模式-工厂模式-最简洁的说明与代码

2023-11-06

工厂模式简介

工厂模式实现途径是一个类或者一个方法,通过这个类可以自动化创建出我们想要的对象。

工厂模式作用

便于实例化对象,还便于之后增加更多的对象。

代码实现

class A:
    pass
class B:
    pass
class Factory:
    def getObj(self,name):
        if(name=="A"):
            return A()
        elif(name=="B"):
            return B()
        else:
            raise Exception
if(__name__=="__main__"):
    factory=Factory()
    obj1=factory.getObj("A")
    obj2=factory.getObj("B")
    print(type(obj1))
    print(type(obj2))

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python设计模式-工厂模式-最简洁的说明与代码 的相关文章

  • 错误:process_executor.py:702: ... 当一些作业被分配给执行器时,工作人员停止了。这可能是由于工作超时太短造成的

    根据主题中的错误 修复方法是什么 环境 Python 3 9 或 3 10 Windows 10 x64 使用时出现错误joblib https joblib readthedocs io en latest 对于并行处理 result c
  • 如何在多进程系统中实现锁定?

    我们正在并行运行许多詹金斯项目 我们使用 python 并且选择使用 pyenv 管理虚拟环境 不幸的是 pyenv 有一个众所周知的竞争条件 https github com yyuu pyenv issues 174 为了解决这个问题
  • 获取 .wav 文件长度或持续时间

    我正在寻找一种方法来找出 python 中音频文件 wav 的持续时间 到目前为止我已经了解了 pythonwave图书馆 mutagen pymedia pymad我无法获取 wav 文件的持续时间 Pymad给了我持续时间 但它不一致
  • Python 切片对象和 __getitem__

    python 中是否有内部的东西来处理传递给的参数 getitem 不同 并自动转换start stop step构造成切片 这是我的意思的演示 class ExampleClass object def getitem self args
  • Virtualenv 在 OS X Yosemite 上失败并出现 OSError

    我最近更新到 OSX Yosemite 现在无法使用virtualenv pip 每当我执行 virtualenv env 它抛出一个 OSError Command Users administrator ux env bin pytho
  • 反编译Python 3.9.2的PYC文件[重复]

    这个问题在这里已经有答案了 目前 我有一个 3 9 2 版本的 python 的 PYC 文件 P S 这适用于所有 3 9 及更高版本 我正在尝试反编译 PYC 文件 但它显示错误 因为 uncompyle6 或者更确切地说 新版本 de
  • Mypy 无法从文字列表推断项目的类型

    我有一个变量x和一个文字列表 例如 0 1 2 我想转换x这些文字之一 如果x在列表中 我将其退回 否则我返回一个后备值 from typing import Literal Set Foo Literal 0 1 2 foos Set F
  • 从 Azure ML 实验中访问 Azure Blob 存储

    Azure ML 实验提供了通过以下方式读取 CSV 文件并将其写入 Azure Blob 存储的方法 Reader and Writer模块 但是 我需要将 JSON 文件写入 blob 存储 由于没有模块可以执行此操作 因此我尝试在Ex
  • 使用 Boto3 以字符串形式打开 S3 对象

    我知道使用 Boto 2 可以使用以下命令将 S3 对象作为字符串打开 get contents as string http boto readthedocs org en latest ref file html highlight c
  • 使用python从gst管道抓取帧到opencv

    我在用着OpenCV http opencv org 和GStreamer0 10 我使用此管道通过自定义套接字通过 UDP 接收 MPEG ts 数据包sockfd由 python 提供并显示它xvimagesink 而且效果很好 以下命
  • 在 python pandas 中,如何保存“网格图”?

    我对 pandas 绘图工具很陌生 在文档中 以下命令非常方便 myplot rts ret hist bins 50 by rts primary mic 然而 当我尝试从图中获取图形参考并保存它时 问题就出现了 myfigure myp
  • Arcpy 模数在 Pycharm 中不显示

    如何将 Arcpy 集成到 Pycharm 中 我尝试通过导入模块但它没有显示 我确实知道该模块仅适用于 2 x python arcpy 在 PyPi Python 包索引 上不可用 因此无法通过 pip 安装 要使用 arcpy 您需要
  • 使用 for 循环创建一系列元组

    我已经搜索过 但找不到答案 尽管我确信它已经存在了 我对 python 很陌生 但我以前用其他语言做过这种事情 我正在以行形式读取数据文件 我想将每行数据存储在它自己的元组中 以便在 for 循环之外访问 tup i inLine wher
  • Spark 和 Python 使用自定义文件格式/生成器作为 RDD 的输入

    我想问一下 Spark 中输入的可能性 我可以看到从http spark apache org docs latest programming guide html http spark apache org docs latest pro
  • Ubuntu systemd 自定义服务因 python 脚本而失败

    希望获得有关 Ubuntu 中的 systemd 守护进程服务的一些帮助 我写了一个 python 脚本来禁用 Dell XPS 上的触摸屏 这更像是一个问题 而不是一个有用的功能 该脚本可以工作 但我不想一直启动它 这就是为什么我想到编写
  • 在骨架图像中查找线 OpenCV python

    我有以下图片 我想找到一些线来进行一些计算 平均长度等 我尝试使用HoughLinesP 但它找不到线 我能怎么做 这是我的代码 sk skeleton mask rows cols sk shape imgOut np zeros row
  • 使用 Python 将连续日期分组在一起

    Given dates datetime 2014 10 11 datetime 2014 10 1 datetime 2014 10 2 datetime 2014 10 3 datetime 2014 10 5 datetime 201
  • 使用另一个数据帧在数据帧中创建子列

    我对 python 和 pandas 很陌生 在这里 我有一个以下数据框 did features offset word JAPE feature manual feature 0 200 0 aa 200 200 0 200 11 bf
  • 如何在亚马逊 EC2 上调试 python 网站?

    我是网络开发新手 这可能是一个愚蠢的问题 但我找不到可以帮助我的确切答案或教程 我工作的公司的网站 用 python django 构建 托管在亚马逊 EC2 上 我想知道从哪里开始调试这个生产站点并检查存储在那里的日志和数据库 我有帐户信
  • rpy2 无法加载外部库

    希望有人能帮忙解决这个问题 R版本 2 14 1rpy2版本 2 2 5蟒蛇版本 2 7 3 一直在尝试在 python 脚本中使用 rpy2 加载 R venneuler 包 该包以 rJava 作为依赖项 venneuler 和 rJa

随机推荐

  • hdu 1827(tarjan)

    先用tarjan缩点 然后入度为0的点就是必须要选择点同时也是最小的情况 Summer Holiday Time Limit 10000 1000 MS Java Others Memory Limit 32768 32768 K Java
  • flowable 多数据源

    目录 前言 一 多数据源 二 测试 1 测试接口 1 不带事务 2 加上事务 三 解决方法 1 开启新事物 2 重写事务 总结 前言 在springboot中使用flowable 此时flowable默认使用spring中的数据源 我这里f
  • ERP常用词汇中英文对照

    ERP常用词汇中英文对照 2007年10月24日 星期三 15 23 A gt gt ABC Classification ABC分类法 对于库存的所有物料 按照全年货币价值从大到小排序 然后划分为三大类 分别称为A类 B类和C类 A类物料
  • Fastjson 全局日期序列化设置导致 JSONField 无效(Java)

    Fastjson 全局日期序列化设置导致 JSONField 无效 Java 在 Java 开发中 Fastjson 是一个流行的 JSON 处理库 它提供了强大的功能和灵活性 其中一个常见的需求是将 Java 对象序列化为 JSON 字符
  • linux文件时间戳(atime, mtime, ctime)

    简介 在linux系统创建一个文件后 使用stat lt 文件名 gt 命令行查看文件状态 总是能看到 3 个时间戳 如下图所示 从上图可以看到 touch命令创建文件abc后 使用 stat abc命令行查看abc文件的状态 显示了3个时
  • 常用命令行指令

    文章目录 1 快速重命名多份文件 2 将mkv文件转为MP4 3 cd命令 4 pip常用命令 5 常用命令大全 1 快速重命名多份文件 在想要修改的文件夹下方 按住shift键 右击鼠标 打开PowerShell ls mp4 mv De
  • 由于找不到MSVCR120.dll,无法继续执行代码,重新安装程序可能会解决此问题。

    今天安装mysql的时候遇到了一个bug 如下图所示 这是因为没有安装如下软件导致的 点击如下链接 下载vcredist 下载 vcredist 地址 https www microsoft com zh CN download detai
  • NS3初探

    NS3初探 文章目录 NS3初探 一 简介 二 NS3重要概念 1 节点 Node类 2 信道 Channel类 3 网络设备 NetDevice类 4 应用程序 Application类 5 拓扑帮助 topology helper 6
  • CAM,PradCAM,layer CAM(可解释性分析方法)

    目录 1 CAM 1 1作用 1 2应用实例 1 3CAM的特点 1 4CAM的思路 1 5CAM的缺点 2 GradCAM 2 1和GAM的区别及思路 2 2应用面 2 3一个延深 解决模型偏见 2 4缺点 3 Grad CAM 4 Sc
  • R语言基于R6的面向对象编程

    R的极客理想系列文章 涵盖了R的思想 使用 工具 创新等的一系列要点 以我个人的学习和体验去诠释R的强大 R语言作为统计学一门语言 一直在小众领域闪耀着光芒 直到大数据的爆发 R语言变成了一门炙手可热的数据分析的利器 随着越来越多的工程背景
  • 在Altium Designer设计时候出现的Unknown Pin:Pin XX问题

    之前在布线时候发现一个元器件没有而且一直提示不知道引脚 以为是网络标号没有弄 后来看了一下网络标号也有 然后系统还是提示不知道该引脚 如图所示 然后就按照网上方法把全部网络标号删去了 重新弄也没有用 原理图也检查了一遍 这个元器件的原理图也
  • 华为首席开源联络官任旭东:深耕基础软件开源,协同打造数字世界根技术

    整理 巫柔颖 开源是迄今为止最先进 最广泛 最活跃的协同创新模式 通过汇聚创新资源 构建信任环境 促进知识 智慧 技术 成果等的共享 加速创新要素高效流动 产生更大价值 已经成为软件技术升级和产业发展的主要模式 是推动科技创新的核心动力与重
  • scala集合和java集合的转换-List

    scala集合和java集合的转换 List scala的List要想转换成java的list 需要导入对应的类scala collection JavaConverters import java lang util import com
  • swift无法创建空init构造函数,如何给类变量赋予nil空值

    今天学swift的时候遇到一个问题 无法创建一个空的类对象 最主要的是 无法让对象的类变量为空 比如创建一个Person类 年龄age用Int属性 但是age默认是0 不是空值nil 以下代码给出了解决方案 import Foundatio
  • SSH远程登录原理与运用

    SSH是每一台Linux电脑的标准配置 随着Linux设备从电脑逐渐扩展到手机 外设和家用电器 SSH的使用范围也越来越广 不仅程序员离不开它 很多普通用户也每天使用 SSH具备多种功能 可以用于很多场合 有些事情 没有它就是办不成 本文是
  • 基于用户 的协同过滤算法

    计算用户相似度和用户对未知物品的可能评分 基于用户的协同过滤算法主要包括两个步骤 1 找到和目标用户兴趣相似的用户集合 2 找到这个集合中的用户喜欢的 且目标用户没有听说过的物品推荐给目标用户 例如现在有A B C D四个用户 分别对a b
  • bugku-本地管理员

    打开场景是登录框 尝试弱口令登录 这里我使用的弱口令有 admin 123456 admin 888888 admin admin admin admin23等 均登陆失败 提示IP已被记录 查看页面源码看看有没有什么提示 可以看到提示了
  • vue2-cli5使用postcss-pxtorem(px转rem)及适应手机微信

    前言 1 为了使项目适配于各种pc端分辨率 所以使用了此插件 2 设计图尺寸是1920 3 根据大多数移动端使用情况 只适配了微信系统 4 vue2 cli5 vue 2 6 14 node 16 14 2 vue2 cli5 ant de
  • PHP发送带附件的电子邮件,使用php发送带附件的电子邮件

    我使用此代码使用php发送带附件的电子邮件 但由于我收到电子邮件并且附件出现在内容中 因此附件中存在错误 在我使用相同的代码并且它成功运行之前 为什么 sending email with attachments function send
  • python设计模式-工厂模式-最简洁的说明与代码

    工厂模式简介 工厂模式实现途径是一个类或者一个方法 通过这个类可以自动化创建出我们想要的对象 工厂模式作用 便于实例化对象 还便于之后增加更多的对象 代码实现 class A pass class B pass class Factory