首页 > 编程语言 >python工厂模式

python工厂模式

时间:2023-08-08 10:33:14浏览次数:33  
标签:Person python create factory 模式 工厂 person pass class

#
#   py_factory.py
#   py_learn
#
#   Created by Z. Steve on 2023/8/8 10:17.
#


# 工厂模式优点:
# 1. 大批量创建对象是, 有统一的入口, 易于代码维护。
# 2. 当发生修改时,只需要修改工厂类的创建方法即可
# 3. 符合现实世界的模式,即由工厂来制作产品(对象)


class Person:
    pass


class Student(Person):
    pass


class Teacher(Person):
    pass


class Doctor(Person):
    pass


class Factory:
    def create_person(self, type):
        if type == 's':
            return Student()
        elif type == 't':
            return Teacher()
        else:
            return Doctor()


# 1. 创建一个工厂对象
factory = Factory()

# 2. 通过工厂对象创建对象
teacher = factory.create_person('t')
student = factory.create_person('s')
doctor = factory.create_person('d')

标签:Person,python,create,factory,模式,工厂,person,pass,class
From: https://www.cnblogs.com/zxhoo/p/17613524.html

相关文章

  • Python单例模式
    ##py_singleton.py#py_learn##CreatedbyZ.Steveon2023/8/809:45.###查看对象地址demo#classUtility:#pass###u1=Utility()#u2=Utility()###输出发现u1、u2两个对象的地址不一样#print(u1)#print(id(u1))#print(u2)#......
  • RunnerGo配置场景时接口模式该怎么选
    在进行性能测试时,测试场景的正确配置非常关键。首先,需要根据业务场景和需求,设计出合理的测试场景,再利用相应的工具进行配置,实现自动化的性能测试。在JMeter中,用户需要自己组织测试场景,或是在同一文件中维护多个测试场景,而且每个测试场景必须单独设置各种元素,并且执行测试场景也需......
  • 使用Python中从头开始构建决策树算法
    决策树(DecisionTree)是一种常见的机器学习算法,被广泛应用于分类和回归任务中。并且再其之上的随机森林和提升树等算法一直是表格领域的最佳模型,所以本文将介绍理解其数学概念,并在Python中动手实现,这可以作为了解这类算法的基础知识。在深入研究代码之前,我们先要了解支撑决策树的......
  • python闭包
    ##py_decorator.py#py_learn##CreatedbyZ.Steveon2023/8/808:34.##装饰器:本质闭包。在不破坏原目标函数原来代码和功能的前提下,为目标函数增加新功能。#定义一个闭包函数,在闭包函数内部执行目标函数,并完成功能添加#1.装饰器的一般写法defdecor......
  • 用Python操作PPT的办公自动化教程
    PPT通过其精美的可视化技巧以及良好的演示效果,成为了职场人士的必备技能。PPT的设计是一门大学问,无论是设计技巧,还是操作方法,都衍生出了专门的课程。主要介绍Python操作PPT的技巧,编程的优势在于处理速度,对于高大上的PPT设计,还是需要"以人为本,所以该模块的使用场景主要是PPT基本元......
  • python监控强势票日志
    c:\python38\python.exeF:/GZH/demo/量化/easyquant/utils/ts/A实时监控近10天最强票+昨日涨停票.pyglobal_config_path:c:\python38\lib\site-packages\easytrader/config/global.json++++++++++++++++(近10日最强+昨日涨停票)+++++++++++++++++++++++++++++++:selectdist......
  • Python实现输入三个整数x,y,z,请把这三个数由小到大输出;
    num1=input('请输入第一个数,x:')num2=input('请输入第二个数,y:')num3=input('请输入第三个数,z:')ifnum1>num2:#if语句判断num1,num2=num2,num1ifnum1>num3:num1,num3=num3,num1ifnum2>num3:num2,num3=num3,num2p......
  • How to update to the latest Python version On Linux All In One
    HowtoupdatetothelatestPythonversionOnLinuxAllInOneupdatetothelatestPythonversiononRaspberryPierrorsold$python--versionPython3.9.2new$sudoaptupdate$aptlist|greppython3.10WARNING:aptdoesnothaveastableCL......
  • opencv-python 图像分割
    本章节介绍图像分割方面的算法:分水岭算法,grabcut算法,meanshift算法等知识。图像分割:将前景物体从背景中提取出来。图像分割分为传统图像分割和基于深度学习的图像分割。传统图像分割有:分水岭算法,grabcut算法,meanshift算法,背景抠出等。1分水岭算法分水岭算法是基于图像形态学......
  • Freemium及其他常见商业模式介绍
    目录Freemium模式基于广告模式订阅制模式小结Freemium模式Freemium是一种常见的商业模式,其基本思路是提供部分服务或产品免费,而更高级或完整的服务需要付费。Freemium的具体运作模式通常如下:提供基础版本产品或服务免费,这是产品或服务的主要核心功能和价值所在。免费版让用......