本章的主题是对象与对象名称之间的区别。名称不是对象,名称就是名称。在 Python 中,变量是标注,而不是盒子。
流畅的 Python 第 2 版(5):数据类构造器
Python 提供了几种构建简单类的方式,这些类只是字段的容器,几乎没有额外功能。这种模式称为 数据类(data class),dataclasses 包就支持该模式。
流畅的 Python 第 2 版(4):Unicode 文本和字节序列
文本给人类阅读,字节序列供计算机处理。Python3 明确区分了人类可读的文本字符串和原始的字节序列。把字节序列隐式转换成 Unicode 文本已成过去。
流畅的 Python 第 2 版(3):字典和集合
dict 类型是实现 Python 的基石。一些 Python 核心结构在内存中以字典的形式存在,比如说类和实例属性、模块命名空间,以及函数的关键字参数等。由于字典的关键作用,Python 对字典做了高度优化,而且一直在改进。Python 字典能如此高效,要归功于哈希表。除了字典之外,内置类型中 set 和 frozenset 也基于哈希表。
流畅的 Python 第 2 版(2):丰富的序列
Python 从 ABC 语言继承了对序列的统一处理方式。字符串、列表、字节序列、数组、XML 元素和数据库查询结果,这些序列在操作上有很多共通之处,都可以迭代、切片、排序和拼接。深入理解 Python 中不同的序列类型,不但能避免重新发明轮子,还可以从它们共通的接口上受到启发,在自己实现 API 时合理支持及利用现有和将来可能添加的序列类型。
流畅的 Python 第 2 版(1):Python 数据类型
Python 入门相对简单,但要写好 Python 代码绝对不易。几年前阅读过《流畅的 Python》第一版,让我对 Python 语言的各个细节有了较为深入的理解,收获颇丰。最近因为投入 AI 相关工作,重新阅读大量 Python 开源代码,发现很多新特性比较陌生,虽然借助 LLM 可以快速了解这些新知识的内容,但总还是碎片化的。正好发现《流畅的 Python》也有了第二版,内容做了全面升级,可以帮助我学习这些 modern python 特性(modern 一词不独属于 C++ 了,眨眼~~)。
理解 Python 模块与包
这篇文章将较为深入的梳理 Python 的模块与包管理机制,它是我们开发大型 Python 应用必须掌握的重要技能之一。
白话机器学习的数学
机器学习的入门门槛确实降低了,现在有很多机器学习的专用程序库,方便又多样的数据集也能唾手可得。一个人即使不懂理论知识,只要准备好程序库和数据集,再写上几行代码就可以制作出有模有样的东西。但是一直使用一个不知道原理的 黑盒,对程序员而言,始终有所担心。《白话机器学习的数学》一书,则介绍了机器学习背后的理论知识。
GoFrame 学习(1):快速开始
GoFrame 是一款模块化、高性能的 Go 语言开发框架,具有工程完备、开箱即用、高扩展性等特点,包含了常用的基础组件和开发工具,既可以作为完整的业务项目框架使用也可以作为独立的组件库使用。
adnanh/webhook 源码分析
这篇文章将学习 webhook 技术,会重点分析开源项目 adnanh/webhook 的源码实现,以加深对 webhook 的理解。