Python抽象工厂模式知识点详解
- 更新时间:2020-04-15 08:29:09
- 编辑:董振国
python面向对象编程入门,我们需要不断学习进步
"""抽象工厂模式的实现"""
import random class PetShop: """宠物商店""" def __init__(self, animal_factory=None): """宠物工厂是我们的抽象工厂。我们可以随意设置。""" self.pet_factory = animal_factory def show_pet(self): """使用抽象工厂创建并显示一个宠物""" pet = self.pet_factory.get_pet() print("我们有一个可爱的 {}".format(pet)) print("它说 {}".format(pet.speak())) print("我们还有 {}".format(self.pet_factory.get_food())) # 工厂生产的事物 class Dog: def speak(self): return "汪" def __str__(self): return "Dog" class Cat: def speak(self): return "喵" def __str__(self): return "Cat" # Factory classes class DogFactory: def get_pet(self): return Dog() def get_food(self): return "狗食" class CatFactory: def get_pet(self): return Cat() def get_food(self): return "猫粮" # 随机创建合适的工厂 def get_factory(): """让我们动起来!""" return random.choice([DogFactory, CatFactory])() # 多个工厂显示宠物 if __name__ == "__main__": for i in range(4): shop = PetShop(get_factory()) shop.show_pet() print("=" * 20)
结果如图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。
相关教程
-
Python设计模式中抽象工厂模式原理和用法
这篇文章主要介绍了Python设计模式之抽象工厂模式,简单讲述了抽象工厂模式的概念、原理并结合实例形式分析了Python实现与使用抽象工厂模式的相关操作技巧,需要的朋友可以参考下
发布时间:2019-06-20
-
Python外观模式知识点实例总结
这篇文章主要介绍了Python设计模式之外观模式,结合实例形式详细分析了外观模式的概念、原理、用法及相关操作注意事项,需要的朋友可以参考下
发布时间:2019-06-10
-
Python物理学高效计算
本书由两位核工程博士编写,书中包含了物理领域的许多实际案例。通过阅读本书,读者会学到如何用Python编程语言收集、分析数据,构建软件,发布结果等技能。 感兴趣的可以下载学习
大小:6.6 MBPython电子书
-
Python3网络爬虫开发实战
本书教你学会如何用Python 3开发爬虫,通过多个案例介绍了不同场景下如何实现数据爬取,最后介绍了pyspider框架、Scrapy框架和分布式爬虫等
大小:375.5 MBPython爬虫电子书
-
零基础入门学习Python
Python零基础入门学习-水木书荟 适合学习Python3的入门读者,也适用对编程一无所知,但渴望用编程改变世界的朋友们!本书提倡理解为主,应用为王。因此,只要有可能,小甲鱼(作者)都会
大小:59.3 MBPython编程电子书
-
Python带我起飞:入门、进阶、商业实战
“教学视频+ 图书+ QQ群交流、答疑”三维学习方案,让Python学习更轻松。赠送教学视频47段,共计429分钟。全书共计42个实例。15位技术专家联合推荐!
大小:185 MBPython编程电子书
-
基于ArcGIS的Python编程秘笈(第2版)
80多个编程技巧,教你如何更好地完成地理信息处理,介绍如何使用Python来创建桌面ArcGIS环境下的地理处理脚本、管理地图文档和图层、查找和修复丢失的数据链接、编辑要素类和表中的数据等
大小:54.8 MBPython编程电子书
-
疯狂Python讲义
本书全面而深入介绍了Python编程的相关内容,全书内容大致可分为四个部分,*部分系统讲解了Python的基本语法结构、函数编程、类和对象、模块和包、异常处理等;第二部分主要介绍Python常用
大小:124.3 MBPython编程电子书
-
从零开始学Python程序设计
《从零开始学Python程序设计》是一本关于Python零基础的电子书资源,涉及从零开始、Python、程序设计等相关内容,本文提供大小为172MB的完整影印PDF格式电子书下载,希望大家能够喜欢。
大小:172 MBPython零基础电子书
-
Python科学计算
本书详细介绍Python科学计算中最常用的扩展库NumPy、SciPy、matplotlib、Pandas、SymPy、TTK、Mayavi、OpenCV、Cython,涉及数值计算、界面制作、三维可视化、图像处理、提高运算效率等多方面的内容。所
大小:59.5 MBPython电子书
-
Python游戏编程入门
本书为读者提供了充分的实践和练习,并且关注Python编程中的高级话题,这些全部通过游戏示例和项目来介绍,而这已经证明是一种高效而有趣的学习方法,感兴趣的可以了解一下
大小:41.6 MBPython游戏编程电子书
-
Selenium自动化测试:基于Python语言
Selenium是一个主要用于Web应用程序自动化测试的工具集合,在行业内已经得到广泛的应用。本书介绍了如何用Python语言调用Selenium WebDriver接口进行自动化测试
大小:6.93 MBSelenium电子书