封面

版权信息

版权声明

O’Reilly Media, Inc.介绍

业界评论

献词

前言

目标读者

第2版的变化

本书结构

Python版本

排版约定

使用示例代码

O’Reilly在线学习平台(O’Reilly Online Learning)

联系我们

致谢

更多信息

第一部分 Python基础

第1章 Python初探

1.1 谜题

1.2 小程序

1.3 大程序

1.4 现实世界中的Python

1.5 Python和其他语言

NOTE

不过shell脚本在规模超过数百行之后就难以很好地扩展了,而且运行速度远不如其他语言。

2024-05-14 19:04:14

1.6 为什么选择Python

1.7 为什么不选择Python

NOTE

如果你的程序大部分时间在进行计算(专业术语是CPU密集型),那么可以使用C、C++、C#、Java、Rust或Go来编写程序,它们通常会比同等的Python程序运行速度更快。

2024-05-14 19:07:27

NOTE

Java最初也慢得可怕,后来投入了大量的研究和资金用于提升其速度。由于Python并不属于任何公司,因此改进过程会更平缓一些。

2024-05-14 19:08:10

1.8 Python 2和Python 3

NOTE

本书使用的是Python 3,它看起来和Python 2差别不大。最明显的区别在于print在Python 3中是函数,调用的时候需要将参数放入圆括号内。最重要的区别则是Unicode字符的处理方式,详见第12章。至于其他重要的不同之处,我会在碰到它们时指出。

2024-05-14 19:13:23

1.9 安装Python

1.10 运行Python

1.11 禅意时刻

NOTE

Flat is better than nested.

2024-05-14 19:20:51

NOTE

Sparse is better than dense.

2024-05-14 19:22:54

1.12 后续内容

1.13 练习

第2章 数据:类型、值、变量和名称

2.1 Python数据皆是对象

NOTE

在Python中,对象是至少包含以下内容的数据块:·类型,定义了可以执行什么操作(参见下一节);·唯一的id,用于区分其他对象;·与类型一致的值;·引用计数,用于跟踪该对象的使用频率。

2024-05-14 19:30:47

NOTE

变量和名称的时候,你会学到引用计数的用法

2024-05-14 19:30:25

2.2 类型

2.3 可变性

NOTE

永恒不变的唯有无常。

2024-05-14 19:35:58

NOTE

Python是强类型语言1,这意味着对象的类型是无法改变的,即便其值是可变的

2024-05-14 19:37:24

NOTE

“强类型”(strongly typed)和“弱类型”(weakly typed)这两个术语并没有准确的技术定义,很多人对于其内涵也持有不同意见。

2024-05-14 19:38:13

2.4 字面值

2.5 变量

2.6 赋值

2.7 变量是名称,不是位置

2.8 向多个名称赋值

2.9 为名称重新赋值

2.10 复制

2.11 选个好变量名

2.12 后续内容

2.13 练习

第3章 数字

3.1 布尔值

3.2 整数

3.3 浮点数

3.4 数学函数

3.5 后续内容

3.6 练习

第4章 if语句

4.1 使用#注释

4.2 使用\续行

4.3 使用if、elif和else进行比较

4.4 True是什么

4.5 使用in进行多重比较

4.6 新秀:我是海象

4.7 后续内容

4.8 练习

第5章 字符串

5.1 使用引号创建字符串

5.2 使用str()创建字符串

5.3 使用\转义

5.4 使用+拼接

5.5 使用*重复

5.6 使用[]获取字符

5.7 使用分片提取子串

5.8 使用len()获取字符串长度

5.9 使用split()分割字符串

5.10 使用join()合并字符串

5.11 使用replace()进行替换

5.12 使用strip()进行剥离

5.13 搜索和选择

5.14 大小写

5.15 对齐

5.16 格式化

5.17 未完待续

5.18 后续内容

5.19 练习

第6章 while循环和for循环

6.1 while循环

6.2 使用for和in进行迭代

6.3 其他迭代器

6.4 后续内容

6.5 练习

第7章 元组和列表

7.1 元组

7.2 列表

7.3 元组和列表

7.4 不存在元组推导式

7.5 后续内容

7.6 练习

第8章 字典和集合

8.1 字典

8.2 集合

8.3 目前为止学过的数据结构

8.4 创建更复杂的数据结构

8.5 后续内容

8.6 练习

第9章 函数

9.1 使用def定义函数

9.2 使用圆括号调用函数

9.3 实参与形参

9.4 文档字符串

9.5 作为“头等公民”的函数

9.6 内部函数

9.7 匿名函数:lambda

9.8 生成器

9.9 装饰器

9.10 名称空间和作用域

9.11 名称中_和__的用法

9.12 递归

9.13 异步函数

9.14 异常

9.15 后续内容

9.16 练习

第10章 对象和类

10.1 什么是对象

10.2 简单对象

10.3 继承

10.4 为self正名

10.5 特性访问

10.6 方法的类型

10.7 鸭子类型

10.8 魔术方法

10.9 聚合和组合

10.10 何时使用对象或其他东西

10.11 具名元组

10.12 数据类

10.13 attrs

10.14 后续内容

10.15 练习

第11章 模块、包和赠品

11.1 模块和import语句

11.2 包

11.3 Python标准库

11.4 获取其他Python代码

11.5 后续内容

11.6 练习

第二部分 Python实践

第12章 数据处理

12.1 文本字符串:Unicode

12.2 字符串:正则表达式

12.3 二进制数据

12.4 珠宝类比

12.5 后续内容

12.6 练习

第13章 日历和时钟

13.1 闰年

13.2 datetime模块

13.3 使用time模块

13.4 读写日期和时间

13.5 所有的转换

13.6 替代模块

13.7 后续内容

13.8 练习

第14章 文件和目录

14.1 文件输入和输出

14.2 内存映射

14.3 文件操作

14.4 目录操作

14.5 路径名

14.6 BytesIO和StringIO

14.7 后续内容

14.8 练习

第15章 进程和并发

15.1 程序和进程

15.2 命令自动化

15.3 并发

15.4 后续内容

15.5 练习

第16章 持久性存储

16.1 平面文本文件

16.2 填充式文本文件

16.3 表格式文本文件

16.4 二进制文件

16.5 关系数据库

16.6 NoSQL数据存储

16.7 全文数据库

16.8 后续内容

16.9 练习

第17章 网络

17.1 TCP/IP

17.2 联网模式

17.3 “请求–回应”模式

17.4 “发布–订阅”模式

17.5 互联网服务

17.6 Web服务和API

17.7 数据序列化

17.8 远程过程调用

17.9 远程管理工具

17.10 大数据

17.11 云

17.12 Docker

17.13 后续内容

17.14 练习

第18章 Web

18.1 Web客户端

18.2 Web服务器

18.3 Web服务器框架

18.4 数据库框架

18.5 Web服务和自动化

18.6 Web API和REST

18.7 爬取数据

18.8 看场电影吧

18.9 后续内容

18.10 练习

第19章 成为Python主义者

19.1 关于编程

19.2 寻找Python代码

19.3 安装Python包

19.4 集成化开发环境

19.5 名称和文档

19.6 添加类型提示

19.7 测试

19.8 调试Python代码

19.9 记录错误消息

19.10 优化

19.11 源代码控制

19.12 分发你的程序

19.13 克隆本书

19.14 更多内容

19.15 后续内容

19.16 练习

第20章 Python的艺术

20.1 2D图形

20.2 3D图形

20.3 3D动画

20.4 图形用户界面

20.5 绘图、图形和可视化

20.6 游戏

20.7 音频和音乐

20.8 后续内容

20.9 练习

第21章 工作中的Python

21.1 Microsoft Office套件

21.2 执行企业任务

21.3 处理企业数据

21.4 开源Python企业包

21.5 金融中的Python

21.6 商业数据安全

21.7 地图

21.8 后续内容

21.9 练习

第22章 Python的科学

22.1 标准库中的数学和统计

22.2 科学Python

22.3 NumPy

22.4 SciPy

22.5 SciKit

22.6 Pandas

22.7 Python和各个科学领域

22.8 后续内容

22.9 练习

附录A 写给初级程序员的计算机软硬件知识

A.1 硬件

A.2 软件

附录B 安装Python 3

B.1 检查Python版本

B.2 安装标准Python

B.3 安装pip包管理器

B.4 安装virtualenv

B.5 其他打包解决方案

B.6 安装Anaconda

附录C 截然不同的async

C.1 协程和事件循环

C.2 asyncio替代

C.3 异步与……

C.4 异步框架和服务器

附录D 习题答案

第1章 Python初探

第2章 数据:类型、值、变量和名称

第3章 数字

第4章 if语句

第5章 字符串

第6章 while循环和for循环

第7章 元组和列表

第8章 字典和集合

第9章 函数

第10章 对象和类

第11章 模块、包和赠品

第12章 数据处理

第13章 日历和时钟

第14章 文件和目录

第15章 进程和并发

第16章 持久性存储

第17章 网络

第18章 Web

第19章 成为Python主义者

第20章 Python的艺术

第21章 工作中的Python

第22章 Python的科学

附录E 速查表

E.1 运算符优先级

E.2 字符串方法

E.3 字符串模块属性

E.4 尾声

作者简介

封面介绍

看完了