互联网
类型
可以朗读
语音朗读
558千字
字数
No.40
科学技术
2025-07-01
发行日期
展开全部
主编推荐语
本书全面细致地介绍了Python的各个功能、逻辑和惯用模式。
内容简介
本书共5个部分。
第一部分“Python环境”讲解Python的哲学、开发环境、基本语法、项目结构和代码导入等内容,为读者编写规范的Python代码奠定坚实的基础。
第二部分“基本结构”讲解Python的变量、数据类型、函数、类、对象、错误和异常等。
第三部分“数据和流程”讲解操作数据和控制执行流程的许多独特方法,包括集合、迭代、生成器、推导式、文本输入/输出、上下文管理、二进制和序列化等。
第四部分“高级概念”探索Python的高级策略,如继承、混入、元类、抽象基类、自省、泛型、异步、并发、线程和并行等。
第五部分“超越代码”讲解项目的打包、分发、调试、日志、测试和剖析等环节,并概述Python开发的方向。
目录
- 版权信息
- 内容提要
- 推荐序
- 关于作者
- 关于技术审校
- 致谢
- 前言
- 资源与支持
- 第一部分 Python环境
- 第1章 Python的哲学
- 1.1 到底什么是Python?
- 1.2 破除误解:Python不是什么
- 1.3 Python 2 vs Python 3
- 1.4 定义“Pythonic”代码
- 1.5 Python之禅
- 1.6 文档、PEP和你
- 1.7 社区中谁说了算?
- 1.8 Python社区
- 1.9 对“明显的方式”的追求
- 1.10 本章小结
- 第2章 Python开发环境
- 2.1 安装Python
- 2.2 认识Python解释器
- 2.3 包和虚拟环境
- 2.4 pip介绍
- 2.5 虚拟环境和Git
- 2.6 一些额外的关于虚拟环境的小贴士
- 2.7 认识PEP 8
- 2.8 代码质量控制:静态分析工具
- 2.9 代码风格守护者:自动格式化工具
- 2.10 测试框架
- 2.11 代码编辑器一览
- 2.12 本章小结
- 第3章 语法速成课程
- 3.1 “Hello, world!”程序
- 3.2 语句和表达式
- 3.3 空格的重要性
- 3.4 空语句
- 3.5 注释以及文档字符串
- 3.6 声明变量
- 3.7 数学操作
- 3.8 逻辑操作
- 3.9 字符串
- 3.10 函数
- 3.11 类和对象
- 3.12 异常处理
- 3.13 元组和列表
- 3.14 循环
- 3.15 结构模式匹配
- 3.16 本章小结
- 第4章 项目结构和代码导入
- 4.1 设置代码仓库
- 4.2 模块和包
- 4.3 import是如何工作的
- 4.4 导入操作的注意事项
- 4.5 在项目中使用import
- 4.6 入口点
- 4.7 Python模块搜索路径
- 4.8 导入模块时底层发生了什么?
- 4.9 本章小结
- 第二部分 基本结构
- 第5章 变量和数据类型
- 5.1 Python中的变量:名称和值
- 5.2 赋值
- 5.3 数据类型
- 5.4 作用域和垃圾回收
- 5.5 不可变的真相
- 5.6 赋值传递
- 5.7 集合和引用
- 5.8 隐式类型转换和显式类型转换
- 5.9 关于匈牙利命名法的注意事项
- 5.10 术语回顾
- 5.11 本章小结
- 第6章 函数和匿名函数
- 6.1 Python函数基础
- 6.2 递归
- 6.3 默认参数值
- 6.4 关键字参数
- 6.5 重载函数
- 6.6 可变参数
- 6.7 仅关键字参数
- 6.8 嵌套函数
- 6.9 闭包
- 6.10 lambda表达式
- 6.11 装饰器
- 6.12 类型提示及函数注解
- 6.13 本章小结
- 第7章 类和对象
- 7.1 声明一个类
- 7.2 属性
- 7.3 作用域命名约定
- 7.4 方法
- 7.5 特性
- 7.6 特殊方法
- 7.7 类装饰器
- 7.8 对象的结构模式匹配
- 7.9 函数式编程和面向对象编程
- 7.10 什么时候使用类?
- 7.11 本章小结
- 第8章 错误和异常
- 8.1 Python中的异常
- 8.2 阅读异常信息
- 8.3 捕获异常:LBYL和EAFP
- 8.4 多异常处理
- 8.5 当心“尿布反模式”
- 8.6 抛出异常
- 8.7 使用异常
- 8.8 else和finally
- 8.9 创建异常
- 8.10 异常一览
- 8.11 本章小结
- 第三部分 数据和流程
- 第9章 集合与迭代
- 9.1 循环
- 9.2 集合
- 9.3 集合的解包
- 9.4 集合的结构模式匹配
- 9.5 以索引或键访问元素
- 9.6 切片符
- 9.7 in运算符
- 9.8 检验集合的长度
- 9.9 迭代
- 9.10 迭代工具
- 9.11 自定义可迭代类
- 9.12 本章小结
- 第10章 生成器和推导式
- 10.1 惰性求值和贪婪迭代
- 10.2 无限迭代器
- 10.3 生成器
- 10.4 yield from
- 10.5 生成器表达式
- 10.6 列表推导式
- 10.7 集合推导式
- 10.8 字典推导式
- 10.9 生成器表达式的隐患
- 10.10 简单协程
- 10.11 异步又如何?
- 10.12 本章小结
- 第11章 文本输入/输出和上下文管理
- 11.1 标准输入和输出
- 11.2 流
- 11.3 上下文管理器基础
- 11.4 文件模式
- 11.5 读取文件
- 11.6 流位置
- 11.7 写入文件
- 11.8 上下文管理器的细节
- 11.9 路径
- 11.10 文件格式
- 11.11 本章小结
- 第12章 二进制和序列化
- 12.1 二进制表示和位运算
- 12.2 字节字面量
- 12.3 类字节对象
- 12.4 struct模块
- 12.5 类字节对象的位运算
- 12.6 memoryview
- 12.7 读写二进制文件
- 12.8 序列化技术
- 12.9 本章小结
- 第四部分 高级概念
- 第13章 继承和混入
- 13.1 何时使用继承?
- 13.2 Python的基础继承
- 13.3 多继承
- 13.4 混入
- 13.5 本章小结
- 第14章 元类和抽象基类
- 14.1 元类
- 14.2 用鸭子类型进行类型推导
- 14.3 抽象基类
- 14.4 虚拟子类
- 14.5 本章小结
- 第15章 自省和泛型
- 15.1 特殊属性
- 15.2 内部对象属性访问:__dict__特殊属性
- 15.3 函数属性
- 15.4 描述符
- 15.5 slots
- 15.6 不可变类
- 15.7 单分派泛型函数
- 15.8 使用元素类
- 15.9 任意执行
- 15.10 本章小结
- 第16章 异步和并发
- 16.1 Python中的异步
- 16.2 示例场景:Collatz游戏同步版本
- 16.3 异步
- 16.4 调度和异步执行流程
- 16.5 异步迭代
- 16.6 异步上下文管理器
- 16.7 异步生成器
- 16.8 其他异步概念
- 16.9 本章小结
- 第17章 线程和并行
- 17.1 线程
- 17.2 条件竞争
- 17.3 锁
- 17.4 死锁、活锁和饥锁
- 17.5 用队列传递消息
- 17.6 多工作线程的future
- 17.7 多进程实现并行
- 17.8 生产者/消费者问题
- 17.9 本章小结
- 第五部分 超越代码
- 第18章 打包和分发
- 18.1 规划打包
- 18.2 项目结构:src或src-less
- 18.3 用setuptools打包和分发
- 18.4 构建你的包
- 18.5 发布到pip
- 18.6 其他打包工具
- 18.7 分发给最终用户
- 18.8 文档
- 18.9 本章小结
- 第19章 调试和日志
- 19.1 警告
- 19.2 日志记录
- 19.3 断言语句
- 19.4 inspect模块
- 19.5 使用pdb
- 19.6 使用faulthandler
- 19.7 用Bandit评估程序安全性
- 19.8 向Python开发团队汇报问题
- 19.9 本章小结
- 第20章 测试和剖析
- 20.1 什么是TDD?
- 20.2 测试框架
- 20.3 示例项目
- 20.4 测试和项目结构
- 20.5 基础测试
- 20.6 测试夹具
- 20.7 不稳定测试和有条件忽略测试
- 20.8 高级夹具:模拟和参数化
- 20.9 代码覆盖率
- 20.10 用tox进行自动化测试
- 20.11 基准测试和性能分析
- 20.12 本章小结
- 第21章 前路迢迢
- 21.1 关于未来
- 21.2 你想出发去哪儿?
- 21.3 Python特色
- 21.4 开发Python本身
- 21.5 和Python共同成长
- 21.6 在这条路上一直走下去
- 附录A 特殊方法和特殊属性
- A.1 特殊方法
- A.2 特殊属性
- 附录B pdb指令
- 附录C Guido van Rossum的国王节演讲
- 译者后记
展开全部
出版方
人民邮电出版社
人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。