![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python 高级编程
@风之所往
zhangsihui.pythonanywhere.com
展开
-
Python 高级编程(第2版)-- 第14章 有用的设计模式
有用的设计模式创建型模式(creational patterns):这些模式用于生成具有特定行为的对象。结构型模式(structural patterns):这些模式有助于为特定用例构建代码。行为模式(behavioral patterns):这些模式有助于分配责任和封装行为。创建型模式创建型模式处理对象实例化机制。这样的模式可以定义如何创建对象实例或者甚至如何构造类的方式。编译型语言(如 C 或 C ++)在运行时难以生成需要的类型。但是在运行时创建新类型在 Python 中是相当简单的。原创 2020-11-26 23:29:32 · 178 阅读 · 0 评论 -
Python 高级编程(第2版)-- 第13章 并发
并发并发(concurrency)和其表现形式之一——并行处理(parallel processing)——是软件工程领域最广泛的话题之一。为什么在应用程序中需要并发,什么时候使用它,以及在 Python 中你可以使用的最重要的并发模型。多线程(multithreading)。多进程(multiprocessing)。异步编程(asynchronous programming)。为什么需要并发并发不是应用程序实现的问题,而只是程序,算法或问题的属性。并行只是并发问题的可能的方法之一。如果两原创 2020-11-24 22:04:17 · 141 阅读 · 1 评论 -
Python 高级编程(第2版)--第12章 优化——一些强大的技术
优化——一些强大的技术优化是一个迭代过程,在这个过程中,并不是每次迭代都会有更好的结果。主要先决条件是通过测试验证并且正常工作的代码。应该始终专注于优化当前的应用程序的瓶颈。总之,一些性能问题只是由某些有质量缺陷的代码或应用程序的使用上下文引起的。例如,以下问题可能会降低应用程序的运行速度。基本内置类型的使用不当。太复杂。硬件资源使用模式与执行环境不匹配。过于长时间的等待来自第三方 API 或后台服务的响应。在应用程序的时间关键部分做太多。可以通过以下非算法方法优化你的程序。原创 2020-11-21 22:47:26 · 249 阅读 · 0 评论 -
Python 高级编程(第2版)--第11章 优化——一般原则与分析技术
优化——一般原则与分析技术3 个优化规则进行任何类型的优化时,请注意以下几个规则。首先要能工作。从用户的角度考虑。保持代码的可读性。首先要能工作第一个目标是使它正常工作。优化工作不应该阻碍这个首要目标。在到你的代码正常工作以及你准备好调优之前,不要做任何以下这些事情。开始编写全局字典以缓存函数的数据。考虑使用C语言或者混合语言(如 Cython)外部化一部分代码。查找一些进行基本计算的外部库。另一方面,使用像 NumPy 这样的库可以缓解特定功能的开发,并且最终产生更简单和更原创 2020-11-19 22:27:37 · 142 阅读 · 0 评论 -
Python 高级编程(第2版)--第10章 测试驱动开发
测试驱动开发测试驱动开发(Test-Driven Development, TDD)是一种生产高质量软件的简单技术。不测试测试开发的原则:为未实现的新功能或者改进编写自动化测试。提供通过所有定义的测试的最小代码量。重构代码以满足所需的质量标准。记住这个开发周期的最重要事情是,测试应该在实现之前编写。测试驱动开发提供了很多好处。有助于防止软件回归。提高软件质量。提供了一种底层的代码行为文档。允许你在较短的开发周期中更快地写出健壮的代码。处理测试的最佳约定是将它们放在一个模块或原创 2020-11-17 23:30:27 · 195 阅读 · 0 评论 -
Python 高级编程(第2版)--第9章 文档化你的项目
文档化你的项目7 项技术写作规则,是最佳实践的概述。reStructuredText 入门,它是在大多数 Python 项目中使用的纯文本标记语法。建立良好的项目文档的编写指南。7 项技术写作规则编写良好的文档在许多方面比编写代码更容易。一个全面的文本,可以用来理解一个设计、一个 API 或任何构成的代码库。7 个规则:两步写作:专注于想法,然后审查和塑造你的文本。定位读者:谁会读?使用简单的风格:保持直接和简单。使用好的语法。限制信息范围:一次引入一个概念。使用现实中的代码示例:原创 2020-11-14 23:47:05 · 171 阅读 · 0 评论 -
Python 高级编程(第2版)--第8章 管理代码
管理代码多个人一起开发软件,是比较困难的。首先,因为代码库的规模急剧扩张,所以,跟踪所有的变化就显得非常重要,尤其是当许多开发人员使用它时。这就是版本控制系统的作用。版本控制系统版本控制系统(Version Control System, VCS)提供了共享,同步和备份任何类型文件的方法,它们分为两类。集中式系统。分布式系统。集中式系统集中式版本控制系统基于保存文件的单个服务器,并允许人们签入和签出对这些文件所做的更改。库贯穿所有的提交,系统将所有修订版本存档到数据库用以撤销任何更改,也可原创 2020-11-12 23:31:21 · 134 阅读 · 0 评论 -
Python 高级编程(第2版)--第7章 使用其他语言开发 Python 扩展
使用其他语言开发 Python 扩展普通 Python 代码的限制:由于 GIL 的存在,线程可用性大大降低。它不编译。它不提供静态类型和相关的优化。扩展,使用完全不同的语言进行编写,并通过 Python 扩展 API 公开其接口,这种解决方案有助于克服上述核心限制。使用 C 或者 C++ 编写扩展只要扩展提供使用 Python/C API 的适配接口,Python 解释器能够从动态/共享库加载它们。此 API 必须通过 C 头文件-Pythoh.h 引入到到扩展的源代码中,这个头文件通常原创 2020-11-10 23:09:46 · 370 阅读 · 0 评论 -
Python 高级编程(第2版)--第6章 部署代码
部署代码使特定版本的应用或服务对最终用户可用的过程叫作部署(deployment)。十二要素应用十二要素应用(Twelve-Factor App,https://12factor.net)是构建“软件即服务”应用的一种通用的与语言无关的方法论。其目的之一就是让应用部署更加简单,但它同时也强调其他主题,例如可维护性和让应用更容易扩展。十二要素应用包含 12 条规则:代码库(codebase):版本控制追踪一份代码库,多份部署。依赖(dependencies):显示声明和隔离依赖关系。配置(con原创 2020-11-08 22:50:58 · 194 阅读 · 1 评论 -
Python 高级编程(第2版)--第5章 编写一个包
编写一个包创建一个包Python打包工具的混乱状态从 1998 年引入的 distutils 包开始,随后在 2003 年 setuptools 对其进行改进。包括出现的其他新项目。最后,Python Packaging Authority (PyPA)组织,将秩序和组织性带回到打包生态系统中。PyPA 维护的 Python 打包用户指南(Python Packaging User Guide)是关于最新打包工具和最佳实践的权威信息来源。由于 PyPA 的存在,Python 打包的现状。PyP原创 2020-11-05 15:52:56 · 238 阅读 · 0 评论 -
Python 高级编程(第2版)--第4章 选择好的名称
选择好的名称PEP 8 与命名最佳实践PEP 8 为编写 Python 代码提供了一个风格指南。除了空格缩进、每行最大长度以及其他与代码布局有关的细节等基本规则之外,PEP 8还介绍了大部分代码库所遵循的命名约定。命名风格不同命名风格。驼峰式命名法(CamelCase)。混合式命名法(mixedCase)。大写(UPPERCASE)或大写加下划线(UPPER_CASE_WITH_UNDERSCORES)。前缀(leading)和后缀(trailing)下划线,有时是双下划线(doubl原创 2020-11-03 14:47:47 · 118 阅读 · 0 评论 -
Python 高级编程(第2版)--第3章 语法最佳实践 -- 类级别以上
语法最佳实践 – 类级别以上子类化内置类型Python 有一个叫作 object 的内置类型,它是所有内置类型的共同祖先,也是所有没有显式指定父类的用户自定义类的共同祖先。需要实现与某个内置类型具有相似行为的类时,最好的方法就是将这个内置类型子类化。访问超类中的方法super 是一个内置类,可用于访问属于某个对象的超类的属性。super 的简化形式(不传入任何参数)可以在方法内部使用,但 super 的使用并不限于方法。在代码中需要调用给定实例的超类方法的任何地方都可以使用它。super原创 2020-10-31 19:14:36 · 152 阅读 · 0 评论 -
Python 高级编程(第2版)--第2章 语法最佳实践--类级别以下
语法最佳实践–类级别以下列表推导(list comprehension)。迭代器(iterator)和生成器(generator)。描述符(descriptor)和属性(property)。装饰器(decorator)。with 和 contextlib。Python 的内置类型字符串与字节Python 3 中只有一种能够保存文本信息的数据类型,就是 str(string,字符串)。是不可变的序列,保存的是 Unicode 码位(code point)。Python 3 中用 by原创 2020-10-29 15:48:51 · 139 阅读 · 0 评论 -
Python高级编程(第2版)--第1章 Python 现状
Python 现状PEP 文档(Python Enhancement Proposal,Python 改进提案)主要用途:通知:汇总 Python 核心开发者需要的信息,并通知 Python 发布日程。标准化:提供代码风格、文档或其他指导意见。设计:对提交的功能进行说明。Python 3 与 Python 2 的主要差异Python 3 引入的重要差异语法变化,删除/修改了一下语法元素,并添加了一些新的语法元素。标准库中的变化。数据类型与集合的变化。语法变化pri原创 2020-10-27 16:34:58 · 162 阅读 · 1 评论