📝 Python设计模式教程
32篇技术文档📅  最后修改于: 2020-11-07 09:08:15        🧑  作者: Mango
策略模式是一种行为模式。策略模式的主要目标是使客户能够选择不同的算法或过程来完成指定的任务。可以为所提到的任务交换不同的算法而不会带来任何复杂性。当访问外部资源时,可以使用此模式来提高灵活性。如何实施策略模式?下面显示的程序有助于实施策略模式。输出上面的程序生成以下输出-说明它提供了功能的策略列表,这些功能执行输出。这种行为模式的主要焦点是行为。...
📅  最后修改于: 2020-11-07 09:08:36        🧑  作者: Mango
模板模式使用抽象操作在基类中定义基本算法,其中子类覆盖具体行为。模板模式将算法的轮廓保留在单独的方法中。该方法称为模板方法。以下是模板模式的不同功能-它定义了运算中算法的框架它包括子类,这些子类重新定义了算法的某些步骤。输出上面的程序生成以下输出-说明这段代码创建了准备饭菜的模板。在这里,每个参数代表创建一部分餐点的属性,例如茶,比萨饼等。输出表示属性的可视化。...
📅  最后修改于: 2020-11-07 09:08:51        🧑  作者: Mango
轻量化模式属于结构设计模式类别。它提供了减少对象数量的方法。它包括有助于改善应用程序结构的各种功能。 flyweight对象的最重要特征是不可变的。这意味着它们一旦构造就无法修改。该模式使用HashMap来存储参考对象。如何实现举重模式?以下程序有助于实现flyweight模式-输出上面的程序生成以下输出-...
📅  最后修改于: 2020-11-07 09:09:08        🧑  作者: Mango
抽象工厂模式也称为工厂工厂。该设计模式属于创新设计模式类别。它提供了创建对象的最佳方法之一。它包括一个接口,负责创建与Factory相关的对象。如何实现抽象工厂模式?以下程序有助于实现抽象工厂模式。输出上面的程序生成以下输出-说明在上面的程序中,抽象工厂为每个窗口创建对象。它调用每个方法,该方法按预期执行输出。...
📅  最后修改于: 2020-11-07 09:09:22        🧑  作者: Mango
面向对象的模式是最常用的模式。这种模式几乎可以在每种编程语言中找到。如何实现面向对象的模式?现在让我们看看如何实现面向对象的模式。输出上面的程序生成以下输出说明该代码包括类属性和实例属性,它们根据输出的要求进行打印。有多种功能构成面向对象模式的一部分。这些功能将在下一章中进行说明。...
📅  最后修改于: 2020-11-07 09:09:41        🧑  作者: Mango
在本章中,我们将重点介绍使用面向对象概念的模式及其在Python的实现。当我们围绕语句块设计程序时,这些语句块围绕函数操作数据,这称为面向过程的程序设计。在面向对象的编程中,有两个主要的实例,分别称为类和对象。如何实现类和对象变量?类和对象变量的实现如下-输出上面的程序生成以下输出-说明此插图有助于说明类和对象变量的性质。“人口”属于“机器人”类别。因此,它称为类变量或对象。在这里,我们将总体类变...
📅  最后修改于: 2020-11-07 09:09:55        🧑  作者: Mango
迭代器设计模式属于行为设计模式类别。开发人员几乎在每种编程语言中都遇到了迭代器模式。使用此模式的方式有助于在不了解底层设计的情况下按顺序访问集合(类)的元素。如何实现迭代器模式?现在,我们将看到如何实现迭代器模式。输出上面的程序生成以下输出-如果您专注于图案,则Fibonacci系列将印有迭代器图案。强制终止用户时,将输出以下输出:说明此Python代码遵循迭代器模式。在这里,使用增量运算符开始计...
📅  最后修改于: 2020-11-07 09:10:10        🧑  作者: Mango
字典是数据结构,其中包括键值组合。它们被广泛用于代替JSON – JavaScript Object Notation。词典用于API(应用程序编程接口)编程。字典将一组对象映射到另一组对象。字典是可变的;这意味着可以根据需要在需要时进行更改。如何在Python实现字典?以下程序显示了从创建字典到实现字典在Python中的基本实现。输出上面的程序生成以下输出-注–在Python实现字典有一些缺点。...
📅  最后修改于: 2020-11-07 09:10:26        🧑  作者: Mango
Lists数据结构是Python通用的数据类型,可以写成方括号之间用逗号分隔的值的列表。句法这是该结构的基本语法-如果观察到,语法的声明就像数组一样,唯一的区别是列表可以包含具有不同数据类型的元素。数组包含相同数据类型的元素。列表可以包含字符串,整数和对象的组合。列表可用于实现堆栈和队列。列表是可变的。这些可以根据需要进行更改。如何执行清单?以下程序显示列表的实现-输出上面的程序生成以下输出-Py...
📅  最后修改于: 2020-11-07 09:10:49        🧑  作者: Mango
集合可以定义为可迭代,可变且无重复元素的无序集合。在Python,集合类是数学集合的一种表示法。使用集合的主要优点是它包含用于检查特定元素的高度优化的方法。Python包含一个单独的类别,称为冻结集。这些集合是不可变的对象,仅支持产生所需结果的方法和运算符。如何实施集?以下程序有助于实现集-输出上面的程序生成以下输出-冻结集可以使用以下程序演示-输出上面的程序生成以下输出-...
📅  最后修改于: 2020-11-07 09:11:07        🧑  作者: Mango
队列是对象的集合,这些对象按照FIFO(快进快出)和LIFO(快进先出)过程定义简单的数据结构。插入和删除操作称为入队和出队操作。队列不允许随机访问它们包含的对象。如何执行FIFO程序?以下程序有助于实现FIFO-输出上面的程序生成以下输出-如何实施LIFO程序?以下程序有助于实施LIFO程序-输出上面的程序生成以下输出-什么是优先队列?优先级队列是一种容器数据结构,它使用有序键管理一组记录,以提...
📅  最后修改于: 2020-11-07 09:11:20        🧑  作者: Mango
字符串序列化是将对象的状态写入字节流的过程。在Python,“ pickle”库用于启用序列化。该模块包括用于对Python对象结构进行序列化和反序列化的强大算法。 “ Pickling”是将Python对象层次结构转换为字节流的过程,而“ unpickling”是相反的过程。泡菜模块的演示如下-输出上面的程序生成以下输出-...
📅  最后修改于: 2020-11-07 09:11:38        🧑  作者: Mango
并发通常被误解为并行性。并发意味着调度独立的代码以系统的方式执行。本章重点介绍使用Python的操作系统的并发执行。以下程序有助于执行操作系统的并发-输出上面的程序生成以下输出-说明“多处理”是类似于线程模块的软件包。该软件包支持本地和远程并发。由于有了这个模块,程序员可以获得在给定系统上使用多个进程的优势。...
📅  最后修改于: 2020-11-07 09:11:54        🧑  作者: Mango
反模式遵循与预定义设计模式相反的策略。该策略包括解决常见问题的通用方法,这些方法可以形式化,通常可以视为一种良好的开发实践。通常,反模式是相反的并且是不希望的。反模式是在软件开发中使用的某些模式,被认为是不良的编程习惯。反模式的重要特征现在让我们看看反模式的一些重要特征。正确性这些模式实际上会破坏您的代码,并使您做错事。以下是对此的简单说明-可维护性如果程序易于理解和根据要求进行修改,则该程序可维...
📅  最后修改于: 2020-11-07 09:12:08        🧑  作者: Mango
处理异常也是设计模式的主要标准。例外是在程序执行期间发生的错误。当发生特定错误时,生成异常非常重要。这有助于减少程序崩溃。为什么要使用例外?异常是在程序中处理错误和特殊条件的便捷方法。当用户认为指定的代码会产生错误时,使用异常处理就很重要。示例–除以零输出上面的程序生成以下输出-引发异常特别是在Python编程中,在运行时发生相应的代码错误时会引发异常。可以使用“ raise”关键字来强制提高。句...