万本电子书0元读

万本电子书0元读

顶部广告

Python语言及其应用(第2版)电子书

1.通俗易懂,趣味十足,适合想快速获得Python应用经验的新手。 2.由浅深,从基础知识出发,逐步迈向更复杂、更多样化的主题,帮你构建Python知识体系。 3.教程与示例相结合,清晰解释了Python 3的各种常用概念,还向你展示了如何使用丰富的Python包在商业分析、数据库和机器学习等领域发应用。 4.配有练习和参考答案,帮助你学以致用,下坚实的Python基础。

售       价:¥

纸质售价:¥64.90购买纸书

144人正在读 | 0人评论 7.4

作       者:[美]比尔·卢巴诺维奇(Bill Lubanovic) 著

出  版  社:人民邮电出版社有限公司

出版时间:2022-03-01

字       数:45.4万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(1条)
  • 读书简介
  • 目录
  • 累计评论(1条)
本书分为上、下两大部分,共计22章。部分(第1~11章)由浅深地介绍Python的基础知识,包括变量、数值、条件语句、文本字符串、循环语句、元组、列表、字典、集合、函数、对象、类、模块、库,等等。掌握这些基础知识将为运用Python奠定牢固的基础。第二部分(第12~22章)介绍Python的应用,所涉及的领域包括Web应用、数据库、网络和机器学习。你将学会用Python处理时间、行网络通信、完成数据科学任务等,还会了解并发的相关知识。<br/>【推荐语】<br/>1.通俗易懂,趣味十足,适合想快速获得Python应用经验的新手。 2.由浅深,从基础知识出发,逐步迈向更复杂、更多样化的主题,帮你构建Python知识体系。 3.教程与示例相结合,清晰解释了Python 3的各种常用概念,还向你展示了如何使用丰富的Python包在商业分析、数据库和机器学习等领域发应用。 4.配有练习和参考答案,帮助你学以致用,下坚实的Python基础。<br/>【作者】<br/>比尔·卢巴诺维奇(Bill Lubanovic)在长达40余年的软件发生涯中积累了丰富的实战经验,发过的项目跨越数据库、Web、分布式系统等多个领域。他曾负责用Python重新实现流行工具Wayback Machine。<br/>
目录展开

版权声明

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 和其他语言

1.6 为什么选择 Python

1.7 为什么不选择 Python

1.8 Python 2 和 Python 3

1.9 安装 Python

1.10 运行 Python

1.10.1 使用交互式解释器

1.10.2 使用 Python 文件

1.10.3 下一步

1.11 禅意时刻

1.12 后续内容

1.13 练习

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

2.1 Python 数据皆是对象

2.2 类型

2.3 可变性

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.2.1 字面整数

3.2.2 整数运算符

3.2.3 整数和变量

3.2.4 优先级

3.2.5 基数

3.2.6 类型转换

3.2.7 int 类型有多大

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.16.1 旧式样:%

5.16.2 新式样:{} 和 format()

5.16.3 最新式样:f 字符串

5.17 未完待续

5.18 后续内容

5.19 练习

第 6 章 while 循环和 for 循环

6.1 while 循环

6.1.1 使用 break 跳出循环

6.1.2 使用 continue 跳过本次循环

6.1.3 使用 else 检查 break

6.2 使用 for 和 in 进行迭代

6.2.1 使用 break 跳出循环

6.2.2 使用 continue 跳过本次循环

6.2.3 使用 else 检查 break

6.2.4 使用 range() 生成数字序列

6.3 其他迭代器

6.4 后续内容

6.5 练习

第 7 章 元组和列表

7.1 元组

7.1.1 使用逗号和 () 创建元组

7.1.2 使用 tuple() 创建元组

7.1.3 使用 + 拼接元组

7.1.4 使用 * 复制元素

7.1.5 比较元组

7.1.6 使用 for 和 in 迭代元组

7.1.7 修改元组

7.2 列表

7.2.1 使用 [] 创建列表

7.2.2 使用 list() 创建或转换列表

7.2.3 使用 split() 从字符串创建列表

7.2.4 使用 [offset] 获取列表项

7.2.5 使用切片获取列表项

7.2.6 使用 append() 在末尾添加列表项

7.2.7 使用 insert() 按偏移插入列表项

7.2.8 使用 * 复制所有列表项

7.2.9 使用 extend() 或 + 拼接列表

7.2.10 使用 [offset] 修改列表项

7.2.11 使用切片修改列表项

7.2.12 使用 del 按偏移删除列表项

7.2.13 使用 remove() 按值删除列表项

7.2.14 使用 pop() 按偏移获取列表项并删除

7.2.15 使用 clear() 删除所有列表项

7.2.16 使用 index() 按值查找列表项的偏移

7.2.17 使用 in 测试值

7.2.18 使用 count() 统计某个值出现的次数

7.2.19 使用 join() 将列表转换为字符串

7.2.20 使用 sort() 或 sorted() 重新排序列表项

7.2.21 使用 len() 获得列表长度

7.2.22 使用 = 赋值

7.2.23 使用 copy()、list() 或切片复制列表

7.2.24 使用 deepcopy() 复制所有内容

7.2.25 比较列表

7.2.26 使用 for 和 in 迭代列表

7.2.27 使用 zip() 迭代多个序列

7.2.28 使用推导式创建列表

7.2.29 列表的列表

7.3 元组和列表

7.4 不存在元组推导式

7.5 后续内容

7.6 练习

第 8 章 字典和集合

8.1 字典

8.1.1 使用 {} 创建字典

8.1.2 使用 dict() 创建字典

8.1.3 使用 dict() 进行转换

8.1.4 使用 [key] 添加或修改字典项

8.1.5 使用 [key] 或 get() 获取字典项

8.1.6 使用 keys() 获取所有的键

8.1.7 使用 values() 获取所有值

8.1.8 使用 items() 获取所有“键–值”对

8.1.9 使用 len() 获取长度

8.1.10 使用 {**a, **b} 合并字典

8.1.11 使用 update() 合并字典

8.1.12 使用 del 按键删除字典项

8.1.13 使用 pop() 按键获取字典项并将其删除

8.1.14 使用 clear() 删除所有字典项

8.1.15 使用 in 测试键是否存在

8.1.16 使用 = 赋值

8.1.17 使用 copy() 复制

8.1.18 使用 deepcopy() 复制所有内容

8.1.19 比较字典

8.1.20 使用 for 和 in 迭代字典

8.1.21 字典推导式

8.2 集合

8.2.1 使用 set() 创建集合

8.2.2 使用 set() 进行转换

8.2.3 使用 len() 获取集合元素个数

8.2.4 使用 add() 添加元素

8.2.5 使用 remove() 删除元素

8.2.6 使用 for 和 in 迭代集合

8.2.7 使用 in 测试元素

8.2.8 集合运算

8.2.9 集合推导式

8.2.10 使用 frozenset() 创建不可变集合

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

8.4 创建更复杂的数据结构

8.5 后续内容

8.6 练习

第 9 章 函数

9.1 使用 def 定义函数

9.2 使用圆括号调用函数

9.3 实参与形参

9.3.1 有用的 None

9.3.2 位置实参

9.3.3 关键字实参

9.3.4 指定默认形参值

9.3.5 使用 * 拆分/汇集位置实参

9.3.6 使用 ** 拆分/汇集关键字实参

9.3.7 仅关键字形参

9.3.8 可变实参和不可变实参

9.4 文档字符串

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

9.6 内部函数

闭包

9.7 匿名函数:lambda

9.8 生成器

9.8.1 生成器函数

9.8.2 生成器推导式

9.9 装饰器

9.10 名称空间和作用域

9.11 名称中 _ 和 __ 的用法

9.12 递归

9.13 异步函数

9.14 异常

9.14.1 使用 try 和 except 处理错误

9.14.2 编写自己的异常

9.15 后续内容

9.16 练习

第 10 章 对象和类

10.1 什么是对象

10.2 简单对象

10.2.1 使用 class 定义类

10.2.2 特性

10.2.3 方法

10.2.4 初始化

10.3 继承

10.3.1 从父类继承

10.3.2 覆盖方法

10.3.3 添加方法

10.3.4 使用 super() 获得父类的帮助

10.3.5 多重继承

10.3.6 mixin

10.4 为 self 正名

10.5 特性访问

10.5.1 直接访问

10.5.2 getter 和 setter

10.5.3 用于特性访问的属性

10.5.4 计算值属性

10.5.5 使用名称重整保护内部隐私

10.5.6 类和对象特性

10.6 方法的类型

10.6.1 实例方法

10.6.2 类方法

10.6.3 静态方法

10.7 鸭子类型

10.8 魔术方法

10.9 聚合和组合

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

10.11 具名元组

10.12 数据类

10.13 attrs

10.14 后续内容

10.15 练习

第 11 章 模块、包和赠品

11.1 模块和 import 语句

11.1.1 导入模块

11.1.2 使用别名导入模块

11.1.3 导入部分模块

11.2 包

11.2.1 模块搜索路径

11.2.2 相对导入和绝对导入

11.2.3 名称空间包

11.2.4 模块和对象

11.3 Python 标准库

11.3.1 使用 setdefault() 和 defaultdict() 处理缺失的键

11.3.2 使用 Counter() 计数

11.3.3 使用 OrderedDict() 按键排序

11.3.4 栈 + 队列 = 双端队列

11.3.5 使用 itertools 迭代代码结构

11.3.6 使用 pprint() 美化输出

11.3.7 获得随机数

11.4 获取其他 Python 代码

11.5 后续内容

11.6 练习

第二部分 Python 实践

第 12 章 数据处理

12.1 文本字符串:Unicode

12.1.1 Python 3 Unicode 字符串

12.1.2 UTF-8

12.1.3 编码

12.1.4 解码

12.1.5 HTML 实体

12.1.6 归一化

12.1.7 更多信息

12.2 字符串:正则表达式

12.2.1 使用 match() 查找起始匹配

12.2.2 使用 search() 查找首次匹配

12.2.3 使用 findall() 查找所有匹配

12.2.4 使用 split() 在匹配处分割

12.2.5 使用 sub() 替换匹配

12.2.6 模式:特殊字符

12.2.7 模式:使用修饰符

12.2.8 模式:指定 match() 的输出

12.3 二进制数据

12.3.1 bytes 和 bytearray

12.3.2 使用 struct 转换二进制数据

12.3.3 其他二进制数据工具

12.3.4 使用 binascii() 转换二进制/字符串

12.3.5 位运算符

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.1.1 使用 open() 创建或打开文件

14.1.2 使用 print() 写入文本文件

14.1.3 使用 write() 写入文本文件

14.1.4 使用 read()、readline() 或 readlines() 读取文本文件

14.1.5 使用 write() 写入二进制文件

14.1.6 使用 read() 读取二进制文件

14.1.7 使用 with 自动关闭文件

14.1.8 使用 seek() 改变文件位置

14.2 内存映射

14.3 文件操作

14.3.1 使用 exists() 检查文件是否存在

14.3.2 使用 isfile() 检查文件类型

14.3.3 使用 copy() 复制文件

14.3.4 使用 rename() 重命名

14.3.5 使用 link() 或 symlink() 创建链接

14.3.6 使用 chmod() 改变文件权限

14.3.7 使用 chown() 改变文件所属权

14.3.8 使用 remove() 删除文件

14.4 目录操作

14.4.1 使用 mkdir() 创建目录

14.4.2 使用 rmdir() 删除目录

14.4.3 使用 listdir() 列出目录内容

14.4.4 使用 chdir() 改变当前目录

14.4.5 使用 glob() 列出匹配文件

14.5 路径名

14.5.1 使用 abspath() 获取路径名

14.5.2 使用 realpath() 获取符号链接路径名

14.5.3 使用 os.path.join() 构建路径名

14.5.4 使用 pathlib

14.6 BytesIO 和 StringIO

14.7 后续内容

14.8 练习

第 15 章 进程和并发

15.1 程序和进程

15.1.1 使用 subprocess 创建进程

15.1.2 使用 multiprocessing 创建进程

15.1.3 使用 terminate() 终止进程

15.1.4 使用 os 获得系统信息

15.1.5 使用 psutil 获取进程信息

15.2 命令自动化

15.2.1 invoke

15.2.2 其他命令助手

15.3 并发

15.3.1 队列

15.3.2 进程

15.3.3 线程

15.3.4 concurrent.futures

15.3.5 绿色线程和 gevent

15.3.6 twisted

15.3.7 asyncio

15.3.8 Redis

15.3.9 队列之外的选择

15.4 后续内容

15.5 练习

第 16 章 持久性存储

16.1 平面文本文件

16.2 填充式文本文件

16.3 表格式文本文件

16.3.1 CSV

16.3.2 XML

16.3.3 XML 安全提示

16.3.4 HTML

16.3.5 JSON

16.3.6 YAML

16.3.7 tablib

16.3.8 Pandas

16.3.9 配置文件

16.4 二进制文件

16.4.1 填充式二进制文件和内存映射

16.4.2 电子表格

16.4.3 HDF5

16.4.4 TileDB

16.5 关系数据库

16.5.1 SQL

16.5.2 DB-API

16.5.3 SQLite

16.5.4 MySQL

16.5.5 PostgreSQL

16.5.6 SQLAlchemy

16.5.7 其他数据库访问包

16.6 NoSQL 数据存储

16.6.1 dbm 家族

16.6.2 memcached

16.6.3 Redis

16.6.4 文档数据库

16.6.5 时间序列数据库

16.6.6 图数据库

16.6.7 其他 NoSQL

16.7 全文数据库

16.8 后续内容

16.9 练习

第 17 章 网络

17.1 TCP/IP

17.1.1 套接字

17.1.2 Scapy

17.1.3 Netcat

17.2 联网模式

17.3 “请求–回应”模式

17.3.1 ZeroMQ

17.3.2 其他消息工具

17.4 “发布–订阅”模式

17.4.1 Redis

17.4.2 ZeroMQ

17.4.3 其他“发布–订阅”工具

17.5 互联网服务

17.5.1 域名系统

17.5.2 Python 电子邮件模块

17.5.3 其他协议

17.6 Web 服务和 API

17.7 数据序列化

17.7.1 使用 pickle 进行序列化

17.7.2 其他序列化格式

17.8 远程过程调用

17.8.1 XML-RPC

17.8.2 JSON-RPC

17.8.3 MessagePack-RPC

17.8.4 zerorpc

17.8.5 gRPC

17.8.6 twirp

17.9 远程管理工具

17.10 大数据

17.10.1 Hadoop

17.10.2 Spark

17.10.3 Disco

17.10.4 Dask

17.11 云

17.11.1 Amazon Web 服务

17.11.2 Google Cloud

17.11.3 Microsoft Azure

17.11.4 OpenStack

17.12 Docker

Kubernetes

17.13 后续内容

17.14 练习

第 18 章 Web

18.1 Web 客户端

18.1.1 使用 telnet 进行测试

18.1.2 使用 curl 进行测试

18.1.3 使用 httpie 进行测试

18.1.4 使用 httpbin 进行测试

18.1.5 Python 的标准 Web 库

18.1.6 标准库之外的 requests

18.2 Web 服务器

18.2.1 最简单的 Python Web 服务器

18.2.2 Web 服务器网关接口(WSGI)

18.2.3 ASGI

18.2.4 Apache

18.2.5 NGINX

18.2.6 其他 Python Web 服务器

18.3 Web 服务器框架

18.3.1 Bottle

18.3.2 Flask

18.3.3 Django

18.3.4 其他框架

18.4 数据库框架

18.5 Web 服务和自动化

18.5.1 webbrowser

18.5.2 webview

18.6 Web API 和 REST

18.7 爬取数据

18.7.1 Scrapy

18.7.2 BeautifulSoup

18.7.3 requests-html

18.8 看场电影吧

18.9 后续内容

18.10 练习

第 19 章 成为 Python 主义者

19.1 关于编程

19.2 寻找 Python 代码

19.3 安装 Python 包

19.3.1 使用 pip

19.3.2 使用 virtualenv

19.3.3 使用 pipenv

19.3.4 使用包管理器

19.3.5 从源代码安装

19.4 集成化开发环境

19.4.1 IDLE

19.4.2 PyCharm

19.4.3 IPython

19.4.4 Jupyter Notebook

19.4.5 JupyterLab

19.5 名称和文档

19.6 添加类型提示

19.7 测试

19.7.1 使用 pylint、pyflakes 和 pep8 检查代码

19.7.2 使用 unittest 进行测试

19.7.3 使用 doctest 进行测试

19.7.4 使用 nose 进行测试

19.7.5 其他测试框架

19.7.6 持续集成

19.8 调试 Python 代码

19.8.1 使用 print()

19.8.2 使用装饰器

19.8.3 使用 pdb

19.8.4 使用 breakpoint()

19.9 记录错误消息

19.10 优化

19.10.1 测量时间

19.10.2 算法和数据结构

19.10.3 Cython、NumPy 和 C 扩展

19.10.4 PyPy

19.10.5 Numba

19.11 源代码控制

19.11.1 Mercurial

19.11.2 Git

19.12 分发你的程序

19.13 克隆本书

19.14 更多内容

19.14.1 图书

19.14.2 网站

19.14.3 团体

19.14.4 会议

19.14.5 Python 相关的工作机会

19.15 后续内容

19.16 练习

第 20 章 Python 的艺术

20.1 2D 图形

20.1.1 标准库

20.1.2 PIL 和 Pillow

20.1.3 ImageMagick

20.2 3D 图形

20.3 3D 动画

20.4 图形用户界面

20.5 绘图、图形和可视化

20.5.1 Matplotlib

20.5.2 Seaborn

20.5.3 Bokeh

20.6 游戏

20.7 音频和音乐

20.8 后续内容

20.9 练习

第 21 章 工作中的 Python

21.1 Microsoft Office 套件

21.2 执行企业任务

21.3 处理企业数据

21.3.1 提取、转换和装载

21.3.2 数据验证

21.3.3 其他信息源

21.4 开源 Python 企业包

21.5 金融中的 Python

21.6 商业数据安全

21.7 地图

21.7.1 格式

21.7.2 根据 shapefile 绘制地图

21.7.3 Geopandas

21.7.4 其他绘图包

21.7.5 应用和数据

21.8 后续内容

21.9 练习

第 22 章 Python 的科学

22.1 标准库中的数学和统计

22.1.1 数学函数

22.1.2 处理复数

22.1.3 使用 decimal 精确计算浮点数

22.1.4 使用 fractions 执行有理数运算

22.1.5 使用 array 创建压缩序列

22.1.6 使用 statistics 进行简单的统计

22.1.7 矩阵乘法

22.2 科学 Python

22.3 NumPy

22.3.1 使用 array() 创建数组

22.3.2 使用 arange() 创建数组

22.3.3 使用 zeros()、ones() 和 random() 创建数组

22.3.4 使用 reshape() 改变数组的形状

22.3.5 使用 [] 获取元素

22.3.6 数组的算术运算

22.3.7 线性代数

22.4 SciPy

22.5 SciKit

22.6 Pandas

22.7 Python 和各个科学领域

22.8 后续内容

22.9 练习

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

A.1 硬件

A.1.1 穴居人的计算机

A.1.2 电

A.1.3 发明

A.1.4 理想化的计算机

A.1.5 CPU

A.1.6 内存和缓存

A.1.7 存储器

A.1.8 输入

A.1.9 输出

A.1.10 相对访问时间

A.2 软件

A.2.1 以位为始

A.2.2 机器语言

A.2.3 汇编语言

A.2.4 高级语言

A.2.5 操作系统

A.2.6 虚拟机

A.2.7 容器

A.2.8 分布式计算和网络

A.2.9 云

A.2.10 Kubernetes

附录 B 安装 Python 3

B.1 检查 Python 版本

B.2 安装标准 Python

B.2.1 macOS

B.2.2 Windows

B.2.3 Linux/Unix

B.3 安装 pip 包管理器

B.4 安装 virtualenv

B.5 其他打包解决方案

B.6 安装 Anaconda

安装 Anaconda 的包管理器 conda

附录 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.2.1 改变大小写

E.2.2 搜索

E.2.3 修改

E.2.4 格式化

E.2.5 字符串类型

E.3 字符串模块属性

E.4 尾声

作者简介

封面介绍

累计评论(1条) 2个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部