跳转至

所有文章

Python 进阶教程系列 10:组合模式

本文是 Python 进阶教程系列 10,主要介绍了 Python 组合模式。

组合模式是一种结构型设计模式,它允许我们将对象组合成树形结构来表示“部分 - 整体”的层次结构。组合模式使得客户端能够以相同的方式处理单个对象和组合对象,从而使得客户端代码更加简单和通用。

img

Python 进阶教程系列 9:单例模式

本文是 Python 进阶教程系列 9,主要介绍了 Python 单例模式。

在软件开发中,单例模式是一种常见的设计模式,它确保一个类只有一个实例,并提供全局访问点。Python 作为一种灵活而强大的编程语言,也提供了多种实现单例模式的方法。

本文将介绍 Python 中常用的两种单例模式实现方式:基于模块和基于类装饰器。

Python 进阶教程系列 8:代理模式

本文是 Python 进阶教程系列 8,主要介绍了 Python 代理模式。

什么是代理模式?

代理模式是一种结构型设计模式,它允许通过创建一个代理对象来控制对另一个对象的访问。在软件开发中,代理是对象的一种封装,它可以隐藏实际对象的复杂性,并提供简洁的接口供其他对象使用。

代理模式有以下几个优点:

  • 通过使用代理对象,可以对真实对象进行封装和控制,从而隐藏了真实对象的复杂性。
  • 可以通过代理对象实现一些额外的功能,如记录日志、缓存数据、实现懒加载等。
  • 代理模式符合单一职责原则,将对象的职责分离,使得每个对象都可以专注于自己的功能。

Python 进阶教程系列 6:使用 mypy 进行类型提示

本文是 Python 进阶教程系列 6,主要介绍了使用 mypy 进行类型提示。

Python 是一门动态类型的编程语言,这意味着我们在编写代码时并不需要显式地声明变量的类型。然而,对于大型项目或需要和他人合作的项目来说,类型提示可以提供更好的代码健壮性和可读性。

为了实现类型提示,Python 社区开发了许多工具,其中之一就是 mypymypy 是一个静态类型检查器,它可以在不运行代码的情况下分析代码并发现潜在的类型错误。通过使用类型注释,mypy 可以提供更好的代码可读性和可维护性,同时还能帮助捕获潜在的错误。

Python 进阶教程系列 5:获取和修改被保护的属性

本文是 Python 进阶教程系列 5,主要介绍了 Python 私有化及 _ 下划线命名用途,以及使用 gettersetterproperty 来修改被保护的属性。

本文部分转载了 Python 私有化及 _ 下划线命名用途,已获得原作者授权。

Python 中没有真正的私有属性或方法,但有一些和命名有关的约定,让编程人员处理一些需要私有化的情况。我们常常需要区分私有方法、属性和公有方法、属性以方便管理和调用,在 Python 中如何做呢?

在变量、方法命名中有下列几种情况:

  • xx 公有变量/方法
  • _xx 前置单下划线
  • __xx 前置双下划线
  • __xx__ 前后双下划线
  • xx_ 后置单下划线

接下来分别介绍这几种带下划线命名的特性与区别。

Python 进阶教程系列 4:命令行参数

本文是 Python 进阶教程系列 4,主要介绍了 sysargparse 解析命令行参数。

命令行参数是指在运行程序时传递给程序的参数。例如,我们可以通过命令行参数来指定要处理的文件名、设置程序的配置选项等。

image-20230727235705211

Python 进阶教程系列 3:生成器

本文是 Python 进阶教程系列 3,主要介绍了生成器 generatoryield 的机制和 nextsend 的用法,并展示了如何用 generator 生成无限序列。

在循环中使用生成器作为迭代对象,就不用将所有需要遍历的值都全部计算出来再迭代,而是可以每迭代一次就计算一个需要遍历的值。

这种写法有以下几个好处:

  1. 节省内存资源:生成器以延迟计算的方式逐个生成数据,不会一次性生成所有数据,因此可以避免在内存中存储大量数据,从而减少内存资源的占用。
  2. 更快的计算速度:由于生成器以延迟计算的方式逐步生成数据,避免了一次性计算所有数据所带来的资源浪费,因此生成器往往比一次性生成所有数据的方式更加高效。
  3. 更灵活的逻辑处理:生成器可以动态地生成数据,并且可以支持迭代过程中的数据清洗、处理等操作,从而让代码更加灵活、简单。

Python 进阶教程系列 2:装饰器

本文是 Python 进阶教程系列 2,主要介绍了装饰器的机制和用法。

Python 是一种功能强大的编程语言,其灵活性和可扩展性使得开发者能够创造出各种强大且高效的应用程序。其中一个让 Python 如此受欢迎的特性就是装饰器(Decorators)。

装饰器是一种可以动态地修改某个类或函数的行为的函数,它们在不修改源代码的情况下为已经存在的函数或类添加额外的功能。

我对装饰器的理解是:装饰器即为“传入一个函数,传出一个被加工后的函数”的函数。

Python 进阶教程系列 1:双下划线的魔法方法

在构建大型项目时,一些进阶的 Python 开发技术能够让我们编写可复用、可拓展、更优雅、更高效的代码,使得代码清晰、整洁且便于维护。本系列笔记参考了 YouTube NeuralNine 频道Python Advanced Tutorials 系列视频,内容涵盖魔法函数、装饰器、生成器、参数解析等内容。

本文是 Python 进阶教程系列 1,主要介绍了双下划线的魔法方法的作用及示例代码,包括__init____str____len____getitem____add____call____format__ 等。

image-20230724232129477