- 博客(4)
- 收藏
- 关注
原创 流畅的python学习笔记(四):把函数视作对象(2:使用一等函数实现设计模式 )
一等函数设计模式1. 经典的“策略”模式2. 使用函数实现“策略”模式 如果合理利用作为一等对象的函数,某些设计模式可以简化,“策略”模式就是其中一个很好的例子。本节接下来的内容中将说明“策略”模式,并使用《设计模式:可复用面向对象软件的基础》一书中所述的“经典”结构实现它。 1. 经典的“策略”模式 图中的 UML 类图指出了“策略”模式对类的编排。 《设计模式:可复用面向对象软件的基础》一书是这样概述“策略”模式的: 定义一系列算法,把它们一一封装起来,并且使它们可以相互替换。本模式使得算法可以
2020-12-24 10:26:31 151
原创 流畅的python学习笔记(四):把函数视作对象(1:一等函数)
一等函数1. 把函数视作对象 在 Python 中,函数是一等对象。编程语言理论家把“一等对象”定义为满足下述条件的程序实体: 在运行时创建 能赋值给变量或数据结构中的元素 能作为参数传给函数 能作为函数的返回结果 在 Python 中,整数、字符串和字典都是一等对象——没什么特别的。如果在 Python 之前,你使用的语言并未把函数当作一等公民,那么本章以及第三部分余下的内容将重点讨论把函数作为对象的影响和实际应用。 1. 把函数视作对象 ...
2020-12-22 16:50:19 253 2
原创 流畅的python学习笔记(三):数据结构(3:文本和字节序列)
文本和字节序列大纲字符问题字节概要 大纲 本章将讨论下述话题: 字符、码位和字节表述 bytes、bytearray 和 memoryview 等二进制序列的独特特性 全部 Unicode 和陈旧字符集的编解码器 避免和处理编码错误 处理文本文件的最佳实践 默认编码的陷阱和标准 I/O 的问题 规范化 Unicode 文本,进行安全的比较 规范化、大小写折叠和暴力移除音调符号的实用函数 使用 locale 模块和 PyUCA 库正确地排序 Unicode 文本 Unicode 数据库中的字符元数据 能处
2020-12-18 17:13:59 701
原创 流畅的python学习笔记(三):数据结构(2:字典和集合)
文章目录字典和集合泛映射类型 字典和集合 dict 类型不但在各种程序里广泛使用,它也是 Python 语言的基石。模块的命名空间、实例的属性和函数的关键字参数中都可以看到字典的身影。跟它有关的内置函数都在 __builtins__.__dict__模块中。 正是因为字典至关重要,Python 对它的实现做了高度优化,而散列表则是字典类型性能出众的根本原因。 集合(set)的实现其实也依赖于散列表,因此本节也会讲到它。反过来说,想要进一步理解集合和字典,就得先理解散列表的原理。 本节大纲: 常见的字典方
2020-12-07 17:53:12 422
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人