Python进阶(更新中...)
Jock2018
珞珈学子,公众号“每日学一技”。
展开
-
全面了解 Python 中的反斜杆
本文全面介绍了 Python 中反斜杆(\)的用法,包括原始字符串和普通字符串,repr() 和 str() ,\ 作为转义符,\ 作为续行符,\ 在字符串转义和正则表达式转义中的过程及注意事项等。阅读本文预计 6 min.全面了解 Python 中的反斜杆1. 前言2. Python 中的 `\`2.1 `\` 作为转义符2.2 `\` 作为续行符2.3 普通字符串 VS 原生字符串2.4 Python 中 `\` 一些让人头疼的细节3. 正则表达式字符串中的 `\`4. 总结5. 巨人的肩膀1..原创 2020-06-24 17:53:14 · 13111 阅读 · 2 评论 -
《Fluent Python》学习笔记:第 10 章 序列的修改、散列和切片
本文主要是 Fluent Python 第 10 章的学习笔记。这部分主要是介绍了将 Vector 类一步步升级,实现集合类型常用的特殊方法 __len__ 、__getitem 、__hash__、__eq__、__format__ 等。《Fluent Python》学习笔记:第 10 章 序列的修改、散列和切片10.1 Vector 类第 1 版:与 Vector2d 类型兼容10.2 Vector 类第 2 版:可切片的序列10.3 Vector 类第 3 版:动态存取属性10.4 Vector.原创 2020-05-29 18:54:21 · 405 阅读 · 0 评论 -
《Fluent Python》学习笔记:第 9 章 Pythonic 对象
本文主要是 Fluent Python 第 9 章的学习笔记。这部分主要是介绍了如何实现一个符合 Python 风格的类,包括常见的特殊方法、__slots__、@classmethod 和 @staticmethod 装饰器、Python 私有属性和受保护属性的用法、约定和局限等。《Fluent Python》学习笔记:第 9 章 Pythonic 对象9.1 对象表示形式9.2 再谈向量类9.3 备选构造方法9.4 classmethod 和 staticmethod9.5 格式化显示9.6 可散.原创 2020-05-29 12:50:15 · 378 阅读 · 0 评论 -
《Fluent Python》学习笔记:第 8 章 对象引用、可变性和垃圾回收
本文主要是 Fluent Python 第 8 章的学习笔记。这部分主要是介绍了变量、引用、对象、深拷贝、浅拷贝、垃圾回收等。本章虽然枯燥,但是非常有用。《Fluent Python》学习笔记:第 8 章 对象引用、可变性和垃圾回收8.1 变量不是盒子8.2 标识、相等性和别名8.3 默认浅拷贝8.5 del 和垃圾回收8.6 弱引用巨人的肩膀8.1 变量不是盒子在 Python 中变量是标签(label),不是盒子(box)。Python 中的变量是引用式变量,类似于 Java 中的引用式变量,.原创 2020-05-28 21:55:58 · 335 阅读 · 0 评论 -
《Fluent Python》学习笔记:第 7 章 函数装饰器和闭包
本文主要是 Fluent Python 第 7 章的学习笔记。这部分主要是介绍了使用闭包、变量作用域、自由变量、nonlocal、装饰器原理、装饰器的使用等。《Fluent Python》学习笔记:第 7 章 函数装饰器和闭包7.1 装饰器基础知识7.2 Python 什么时候执行装饰器7.3 使用装饰器改进“策略”模式7.4 变量作用域7.5 闭包7.6 nonlocal 声明7.7 实现一个简单的装饰器7.8 标准库中的装饰器7.9 叠放装饰器7.10 参数化装饰器扩展阅读巨人的肩膀装饰器(de.原创 2020-05-28 16:07:02 · 730 阅读 · 0 评论 -
《Fluent Python》学习笔记:第 6 章 使用一等函数实现设计模式
本文主要是 Fluent Python 第 6 章的学习笔记。这部分主要是介绍了使用一等函数实现策略模式和命令模式等。《Fluent Python》学习笔记:第 6 章 使用一等函数实现设计模式6.1 案例分析:重构“策略”模式6.2 “命令”模式巨人的肩膀6.1 案例分析:重构“策略”模式《设计模式:可复用面向对象软件的基础》对策略模式的总结如下:定义一系列算法,把它们一一封装起来,并且使它们可以相互替换。本模式使得算法可以独立于使用它的客户而变化。电商领域中,根据客户的属性或订单中的商.原创 2020-05-27 21:24:35 · 263 阅读 · 0 评论 -
《Fluent Python》学习笔记:第 5 章 一等函数
本文主要是 Fluent Python 第 5 章的学习笔记。这部分主要是介绍了一等对象的条件、一等函数的表现、高阶函数、函数式编程、函数注解等。《Fluent Python》学习笔记:第 5 章 一等函数5.1 把函数视为对象5.2 高阶函数5.3 匿名函数5.4 七大可调用对象5.5 用户定义的可调用类型5.6 函数内省5.7 从位置参数到仅限关键字参数5.8 获取关于参数的信息5.9 函数注解5.10 支持函数式编程的包巨人的肩膀在 Python 中函数(function)是一等对象(first.原创 2020-05-27 18:18:56 · 328 阅读 · 0 评论 -
《Fluent Python》学习笔记:第 4 章 文本和字节序列
本文主要是 Fluent Python 第 4 章的学习笔记。这部分主要是介绍了 Unicode 字符串、二进制序列、二者之间转换时使用的编码、处理编码错误、处理文本文件、 Unicode 规范化比较等。《Fluent Python》学习笔记:第 4 章 文本和字节序列4.1 字符问题4.2 字节概要4.3 基本的编解码器4.4 理解编码问题3.5 处理文本文件4.6 为了正确比较而规范化 Unicode 字符串巨人的肩膀4.1 字符问题字符(character)的最佳定义是 Unicode 字符.原创 2020-05-27 15:16:46 · 289 阅读 · 0 评论 -
《Fluent Python》学习笔记:第 3 章 字典和集合
本文主要是 Fluent Python 第 3 章的学习笔记。这部分主要是介绍了字典和集合,以及字典背后的散列表。原创 2020-05-27 09:06:21 · 351 阅读 · 0 评论 -
初探 sort 方法和 sorted 内置函数
本文主要介绍 Python 中 sort 方法和 sorted 函数的基本用法、高级用法、Timsort 算法的简单介绍、二者异同等。阅读本文预计 6 min.初探 sort 方法和 sorted 内置函数1. 前言2. sort 方法和 sorted 函数的基本用法3. 可选仅限关键字参数 reverse4. 可选仅限关键字参数 key5. operator 模块的使用6. sort 方法和 sorted 函数背后的排序算法7. sort 方法和 sorted 函数的异同8. 巨人的肩膀1. 前言.原创 2020-05-20 17:54:43 · 1203 阅读 · 0 评论 -
《Fluent Python》学习笔记:第 2 章 序列组成的数组
本文主要是 Fluent Python 第 2 章的学习笔记。这部分主要是介绍了序列、列表、元组的一些高级用法。《Fluent Python》学习笔记:第 2 章 序列组成的数组2.1 内置序列分类2.2 列表推导和生成器表达式2.2.1 列表推导和可读性2.2. 列表推导式 VS filter and map2.2.3 笛卡尔积2.2.4 生成器表达式2.3 元组不仅仅是不可变列表2.3.1 元组和记录2.3.2 元组拆包2.4 切片2.5 序列拼接(+和\*)2.6 序列的增量赋值2.7 lis.原创 2020-05-20 14:09:16 · 353 阅读 · 0 评论 -
初探Python字节码和dis模块
本文主要介绍 Python 字节码、Python 虚拟机内幕以及 dis 模块的简单应用。阅读本文预计 10 min.初探Python字节码和dis模块1. 前言2. Python 字节码2.1 汇编与反汇编2.2 什么是 Python 字节码呢?2.3 为什么需要 Python 字节码?3. Python 虚拟机内幕4. dis 模块4.1 访问和理解 Python 字节码4.2 dis() 方法5. 更多的推荐6. 巨人的肩膀1. 前言了解 Python 字节码和 Python 虚拟机运行的知.原创 2020-05-10 08:11:49 · 4263 阅读 · 1 评论