python设计模式
文章平均质量分 93
程序猿入门到放弃
这个作者很懒,什么都没留下…
展开
-
为什么学习设计模式--结构化的思想对一个程序员的影响
记得之前看过一篇博客,具体内容现在都忘记了。记得上面有句话大体是什么说的:所谓的设计模式,我们日常工作中经常用,只是我们没有想过像GoF一样,把这些日常用到的模式总结归纳,形成结构化的理论。 可见,设计模式不真正是GoF提出的概念,而是他们作为一个有心人,把人们日常工作中遇到的设计问题,全面的总结,才形成了之后的“23种设计模式”。首先,设计模式解决的肯定是系统设计问题,而且会用到面向对象来解决的。所以,本书开头先说设计原则和面向对象。面向对象基础知识,大部分人应该都了解;原创 2022-11-19 10:52:31 · 202 阅读 · 1 评论 -
进军Python全栈开发--14.Python中的数据结构与算法
Python语言进阶重要知识点生成式(推导式)的用法prices = { 'AAPL': 191.88, 'GOOG': 1186.96, 'IBM': 149.24, 'ORCL': 48.44, 'ACN': 166.89, 'FB': 208.09, 'SYMC': 21.29}# 用股票价格大于100元的股票构造一个新的字典prices2 = {key: value for key, value in prices.items(原创 2020-08-13 20:28:12 · 464 阅读 · 0 评论 -
进军Python全栈开发--13.网络编程入门和网络应用开发
网络编程入门计算机网络基础计算机网络是独立自主的计算机互联而成的系统的总称,组建计算机网络最主要的目的是实现多台计算机之间的通信和资源共享。今天计算机网络中的设备和计算机网络的用户已经多得不可计数,而计算机网络也可以称得上是一个“复杂巨系统”,对于这样的系统,我们不可能用一两篇文章把它讲清楚,有兴趣的读者可以自行阅读Andrew S.Tanenbaum老师的经典之作《计算机网络》或Kurose和Ross老师合著的《计算机网络:自顶向下方法》来了解计算机网络的相关知识。计算机网络发展史1960s原创 2020-08-13 20:23:45 · 281 阅读 · 0 评论 -
进军Python全栈开发--12.进程和线程
进程和线程今天我们使用的计算机早已进入多CPU或多核时代,而我们使用的操作系统都是支持“多任务”的操作系统,这使得我们可以同时运行多个程序,也可以将一个程序分解为若干个相对独立的子任务,让多个子任务并发的执行,从而缩短程序的执行时间,同时也让用户获得更好的体验。因此在当下不管是用什么编程语言进行开发,实现让程序同时执行多个任务也就是常说的“并发编程”,应该是程序员必备技能之一。为此,我们需要先讨论两个概念,一个叫进程,一个叫线程。概念进程就是操作系统中执行的一个程序,操作系统以进程为单位分配存储空间,原创 2020-08-13 20:20:04 · 216 阅读 · 0 评论 -
进军Python全栈开发--11.字符串和正则表达式
使用正则表达式正则表达式相关知识在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要,正则表达式就是用于描述这些规则的工具,换句话说正则表达式是一种工具,它定义了字符串的匹配模式(如何检查一个字符串是否有跟某种模式匹配的部分或者从一个字符串中将与模式匹配的部分提取出来或者替换掉)。如果你在Windows操作系统中使用过文件查找并且在指定文件名时使用过通配符(*和?),那么正则表达式也是与之类似的用来进行文本匹配的工具,只不过比起通配符正则表达式更强大,它能更精确地描述你的需求(当然原创 2020-08-13 20:18:53 · 142 阅读 · 0 评论 -
进军Python全栈开发--10.文件和异常
文件和异常实际开发中常常会遇到对数据进行持久化操作的场景,而实现数据持久化最直接简单的方式就是将数据保存到文件中。说到“文件”这个词,可能需要先科普一下关于文件系统的知识,但是这里我们并不浪费笔墨介绍这个概念,请大家自行通过维基百科进行了解。在Python中实现文件的读写操作其实非常简单,通过Python内置的open函数,我们可以指定文件名、操作模式、编码信息等来获得操作文件的对象,接下来就可以对文件进行读写操作了。这里所说的操作模式是指要打开什么样的文件(字符文件还是二进制文件)以及做什么样的操作(原创 2020-08-13 20:17:37 · 128 阅读 · 0 评论 -
进军Python全栈开发--09.面向对象进阶
面向对象进阶在前面的章节我们已经了解了面向对象的入门知识,知道了如何定义类,如何创建对象以及如何给对象发消息。为了能够更好的使用面向对象编程思想进行程序开发,我们还需要对Python中的面向对象编程进行更为深入的了解。@property装饰器之前我们讨论过Python中属性和方法访问权限的问题,虽然我们不建议将属性设置为私有的,但是如果直接将属性暴露给外界也是有问题的,比如我们没有办法检查赋给属性的值是否有效。我们之前的建议是将属性命名以单下划线开头,通过这种方式来暗示属性是受保护的,不建议外界直接访原创 2020-08-13 20:15:51 · 168 阅读 · 0 评论 -
进军Python全栈开发--08.面向对象编程基础
面向对象编程基础活在当下的程序员应该都听过"面向对象编程"一词,也经常有人问能不能用一句话解释下什么是"面向对象编程",我们先来看看比较正式的说法。"把一组数据结构和处理它们的方法组成对象(object),把相同行为的对象归纳为类(class),通过类的封装(encapsulation)隐藏内部细节,通过继承(inheritance)实现类的特化(specialization)和泛化(generalization),通过多态(polymorphism)实现基于对象类型的动态分派。"这样一说是不是更不明原创 2020-08-13 20:14:16 · 129 阅读 · 0 评论 -
进军Python全栈开发--07.字符串和常用数据结构
字符串和常用数据结构使用字符串第二次世界大战促使了现代电子计算机的诞生,最初计算机被应用于导弹弹道的计算,而在计算机诞生后的很多年时间里,计算机处理的信息基本上都是数值型的信息。世界上的第一台电子计算机叫ENIAC(电子数值积分计算机),诞生于美国的宾夕法尼亚大学,每秒钟能够完成约5000次浮点运算。随着时间的推移,虽然数值运算仍然是计算机日常工作中最为重要的事情之一,但是今天的计算机处理得更多的数据可能都是以文本的方式存在的,如果我们希望通过Python程序操作本这些文本信息,就必须要先了解字符串类型原创 2020-08-09 09:54:12 · 215 阅读 · 0 评论 -
进军Python全栈开发--Python七大原则,24种设计模式
七大设计原则:1、单一职责原则【SINGLE RESPONSIBILITY PRINCIPLE】:一个类负责一项职责.2、里氏替换原则【LISKOV SUBSTITUTION PRINCIPLE】:继承与派生的规则.(子类可替换父类)3、依赖倒转原则【DEPENDENCE INVERSIONPRINCIPLE】:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。即针对接口编程,不要针对实现编程。4、接口隔离原则【INTERFACE SEGREGATIONPR原创 2020-08-07 09:33:47 · 243 阅读 · 0 评论