社区:资料比较多 在线可读
官网——书籍web版
《学习 Python:强大的面向对象编程(第 5 版)》 | Python 技术论坛 (learnku.com)
学习 Python:强大的面向对象编程(第 5 版)
全面介绍 Python 语言原理。文档作者:hustnzj
文章统计:345 篇,字数 0,点赞** **1
- 前言
- 前言的引言
- 本书的生态系统
- 关于第五版
- 关于第五版 —— 具体的变更
- 关于第五版 —— 覆盖过去,适用于未来
- Python 2.X 和 3.X 系列
- Python 2.X 和 3.X 系列 —— 今日故事
- Python 2.X 和 3.X 系列 —— 同时教授 3.X 和 2.X
- Python 2.X 和 3.X 系列 —— 我应该使用哪一个 Python?
- 本书的前提和努力
- 本书的结构
- 本书的结构 —— 主要部分的预览 —— 第一部分到第五部分
- 本书的结构 —— 主要部分的预览 —— 第六部分到第九部分
- 本书不是什么 —— 不是一本参考书
- 本书不是什么 —— 不是给那些匆忙的人的短篇小说
- 本书不是什么 —— 尽可能如 Python 所允许的那样循序渐进
- 本书的程序
- 字体约定
- 书籍更新与资源
- 鸣谢 —— 背景故事
- 鸣谢 —— 感谢
- 第一部分 开始 —— 第 1 章: Python Q&A 环节
- Python 问答环节
- 为什么人们使用 Python?
- 为什么人们使用 Python?—— 软件质量
- 为什么人们使用 Python?—— 开发者生产力
- Python 是一门“脚本语言”吗?
- 好的,但缺点是什么?
- 好的,但缺点是什么?—— 其它的Python折衷:无形的部分
- 当今谁在使用Python?
- 我可以用 Python 做什么?
- 我可以用 Python 做什么?—— 系统编程
- 我可以用 Python 做什么?—— 图像用户界面
- 我可以用 Python 做什么?—— 互联网脚本编程
- 我可以用 Python 做什么?—— 组件集成
- 我可以用 Python 做什么?—— 数据库编程
- 我可以用 Python 做什么?—— 快速原型化
- 我可以用 Python 做什么?—— 数字和科学编程
- 我可以用 Python 做什么?—— 还有更多:游戏、图像、数据挖掘、机器人、Excel。。。
- Python 的开发和支持是怎样的?
- Python 的开发和支持是怎样的?—— 开源的妥协
- Python 的技术优势是什么?
- Python 的技术优势是什么?—— 面向对象和函数式的(编程)
- Python 的技术优势是什么?—— 免费
- Python 的技术优势是什么?—— 可移植
- Python 的技术优势是什么?—— 功能强大
- Python 的技术优势是什么?—— 可混合
- Python 的技术优势是什么?—— 相对容易使用
- Python 的技术优势是什么?—— 相对容易学习
- Python 的技术优势是什么?—— 以 Monty Python 命名
- Python 是如何与 语言 X 比较的?
- 本章总结
- 测试你的知识:测验
- 测试你的知识:答案
- Python 是工程,不是艺术
- 第一部分 开始 —— 第 2 章: Python 是如何运行程序的
- 引言
- 介绍 Python 解释器
- 程序执行
- 程序执行 —— 程序员的角度
- Python 的角度
- Python 的角度 —— 字节码编译
- Python 的角度 —— Python 虚拟机(PVM)
- Python 的角度 —— 性能影响
- Python 的角度 —— 开发影响
- 执行模型变体
- 执行模型变体——Python实现的可选方案
- 执行模型变体——Python实现的可选方案——CPython:标准
- 执行模型变体——Python实现的可选方案——Jython:用于Java的Python
- 执行模型变体——Python实现的可选方案——IronPython: 用于 .NET 的Python
- 执行模型变体——Python实现的可选方案——Stackless: 用于并发的Python
- 执行模型变体——Python实现的可选方案——PyPy: 加速Python
- 执行模型变体——Python实现的可选方案——PyPy: 加速Python——注意
- 执行模型变体——执行优化工具
- 执行模型变体——执行优化工具——Cython: Python/C 混合体
- 执行模型变体——执行优化工具——Shed Skin: Python 到 C++的翻译器
- 执行模型变体——执行优化工具——Psyco: 初始的 just-in-time 编译器
- 执行模型变体——冻结的二进制文件
- 执行模型变体——未来的可能性?
- 本章总结
- 测试你的知识:小测验
- 测试你的知识:答案
- 第一部分 开始 —— 第 3 章: 你是如何运行程序的
- 引言
- 交互的提示符
- 交互的提示符——开启交互会话
- 交互的提示符——开启交互会话——Windows上的命令提示符在哪?
- 交互的提示符——系统路径
- 交互的提示符——在3.3中的新的Windows选项——PATH,启动器
- 交互的提示符——在哪里运行:代码目录
- 交互的提示符——不要输入什么:提示符和注释
- 交互的提示符——不要输入什么:提示符和注释——注意
- 交互的提示符——交互式地运行代码
- 交互的提示符——为什么要使用交互式提示符?
- 交互的提示符——为什么要使用交互式提示符?——实验
- 交互的提示符——为什么要使用交互式提示符?——测试
- 交互的提示符——使用笔记:交互的提示符
- 交互的提示符——使用笔记:交互的提示符——输入多行语句
- 系统命令行和文件
- 系统命令行和文件——第一个脚本
- 系统命令行和文件——使用命令行运行文件
- 系统命令行和文件——命令行用法变化
- 系统命令行和文件——用法笔记:命令行和文件
- Unix风格的可执行脚本:#!
- Unix风格的可执行脚本:#! —— Unix 脚本基础
- Unix风格的可执行脚本:#! —— Unix env 查找技巧
- Unix风格的可执行脚本:#! —— Python 3.3 Windows 启动器:#! 来到了 Windows
- 点击文件图标
- 模块导入与重载
- 模块导入与重载——导入与重载基础
- 模块导入与重载——导入与重载基础——注意
- 模块导入与重载——更大的模块故事:属性
- 模块导入与重载——更大的模块故事:属性——模块和命名空间
- 模块导入与重载——更大的模块故事:属性——注意
- 模块导入与重载——使用笔记:导入与重载
- 使用 exec 来运行模块文件
- 使用 exec 来运行模块文件——注意
- IDLE 用户界面
- IDLE 用户界面——IDLE启动细节
- IDLE 用户界面——IDLE基本用法
- IDLE 用户界面——IDLE可用性功能
- IDLE 用户界面——高级的IDLE工具
- IDLE用户界面——用法笔记:IDLE
- 其他的IDE
- 其他的启动选项
- 其他启动选项——嵌入调用
- 其他启动选项——冰封的二进制可执行文件
- 其他启动选项——文本编辑器启动选项
- 其他启动选项——还有其他启动选项
- 其他启动选项——未来的可能性?
- 我应该使用什么选项?
- 我应该使用什么选项?—— 调试Python代码
- 本章总结
- 测试你的知识:小测验
- 测试你的知识:答案
- 测试你的知识:Part I 练习
- 测试你的知识:Part I 练习 —— 答案
- 第二部分 类型与操作 —— 第 4 章: 介绍 Python 对象类型
- 引言
- Python概念层次结构
- 为什么使用内置类型?
- Python的核心对象类型
- 数字
- 字符串
- 字符串——序列操作
- 字符串——不变性
- 字符串——类型特有的方法
- 字符串——获得帮助
- 字符串——编码字符串的其他方式
- 字符串——Unicode 字符串
- 字符串——模式匹配
- 列表
- 列表——序列操作
- 列表——类型特定的操作
- 列表——边界值检查
- 列表——嵌套
- 列表——理解
- 字典
- 字典——映射操作
- 字典——重新审视嵌套
- 字典——缺失的键: if 测试
- 字典——排序键/for 循环
- 字典——迭代和优化
- 元组
- 元组——为什么有元组?
- 文件
- 文件——二进制字节文件
- 文件——Unicode 文本文件
- 文件——其他类文件的工具
- 其他核心类型
- 其他核心类型——如何破坏代码的灵活性
- 其他核心类型——用户定义的类
- 其他核心类型——还有其它的一切
- 第4章总结
- 测试知识小测验——第4章
- 测试知识小测验——第4章——答案
- 第二部分 类型与操作 —— 第 5 章: 数字类型
- 引言
- 数字类型基础
- 数字类型基础——数字字面量
- 数字类型基础——内置的数字工具
- 数字类型基础——Python表达式操作符
- 数字类型基础——Python表达式操作符——混合的操作符遵循操作符优先级
- 数字类型基础——Python表达式操作符——小括号分组子表达式
- 数字类型基础——Python表达式操作符——混合的类型被向上转换
- 数字类型基础——Python表达式操作符——操作符重载和多态性
- 数字类型实战
- 数字类型实战——变量和基本表达式
- 数字类型实战——数字显示格式
- 数字类型实战——比较:普通的和链式的
- 数字类型实战——除法:经典的、取整的、真正的
- 数字类型实战——除法:经典的、取整的、真正的——支持两个系列的Python
- 数字类型实战——除法:经典的、取整的、真正的——向下取整 vs 截断
- 数字类型实战——除法:经典的、取整的、真正的——为什么截断很重要?
- 数字类型实战——整数精确度
- 数字类型实战——复数
- 数字类型实战——十六进制、八进制、二进制:字面量和转换
- 数字类型实战——按位运算
- 数字类型实战——其他内置的数字工具
- 其他的数字类型
- 其他的数字类型——小数类型
- 其他的数字类型——小数类型——小数基础
- 其他的数字类型——小数类型——全局地设置小数精度
- 其他的数字类型——小数类型——小数上下文管理器
- 其他的数字类型——分数类型
- 其他的数字类型——分数类型——分数基础
- 其他的数字类型——分数类型——在分数和小数中的数字精度
- 其他的数字类型——分数类型——分数转换和混合类型
- 其他的数字类型——Sets
- 其他的数字类型——Sets——在Python 2.6和更早版本中的 set基础
- 其他的数字类型——Sets——在Python 3系列和2.7中的set字面量
- 其他的数字类型——Sets——不可变的限制和冻结的set
- 其他的数字类型——Sets——在Python 3.X和2.7中的set comprehensions
- 其他的数字类型——Sets——为什么是sets?
- 其他的数字类型——布尔型
- 数字扩展
- 本章总结
- 测试知识:小测验
- 测试知识:答案
- 第二部分 类型与操作 —— 第 6 章: 动态类型的插曲
- 第二部分 类型与操作 —— 第 7 章: 字符串基础
- 引言
- 本章的范围
- 本章的范围——Unicode:简要概述
- 字符串基础
- 字符串字面量
- 字符串字面量——单双引号字符串是一样的
- 字符串字面量——转义序列代表特殊字符
- 字符串字面量——原始字符串抑制转义
- 字符串字面量——三引号编码多行块字符串
- 字符实战
- 字符实战——基本操作
- 字符实战——索引和切片
- 字符实战——索引和切片——高级切片——第三个(索引)限制(参数)和切片对象
- 字符实战——字符串转换工具
- 字符实战——字符串转换工具——字符码转换
- 字符实战——修改字符串1
- 字符串方法
- 字符串方法——方法调用语法
- 字符串方法——字符串的方法
- 字符方法——字符方法示例:更改字符串2
- 字符方法——字符串方法示例:解析文本
- 字符串方法——实战中的其它常见字符串方法
- 字符串方法——原来的字符串模块的函数(在3.X中消失了)
- 字符串格式化表达式
- 字符串格式化表达式——格式化表达式基础
- 字符串格式化表达式——高级格式化表达式语法
- 字符串格式化表达式——高级格式化表达式实例
- 基于字典的格式化表达式
- 字符串格式化方法调用
- 字符串格式化方法调用——格式化方法基础
- 字符串格式化方法调用——添加键、属性和偏移量
- 字符串格式化方法调用——高级的格式化方法语法
- 字符串格式化方法调用——高级格式化方法示例
- 字符串格式化方法调用——与
%
格式化表达式的比较 - 字符串格式化方法调用——为什么是格式化方法?
- 字符串格式化方法调用——为什么是格式化方法?——额外特性:特殊情况的”电池“(预编码模块)vs 通用技术
- 字符串格式化方法调用——为什么是格式化方法?——灵活的引用语法:额外的复杂性和功能上的重叠
- 字符串格式化方法调用——为什么是格式化方法?——现在可选而且不太可能被使用
- 字符串格式化方法调用——为什么是格式化方法?——命名方法和上下文中立的参数:美学 vs 实践
- 字符串格式化方法调用——为什么是格式化方法?——一个小便利
- 通用类型种类
- 通用类型种类——类型按类别共享操作集
- 通用类型种类——能被就地修改的可变对象
- 本章总结
- 测试知识:测验
- 测试知识:答案
- 第二部分 类型与操作 —— 第 8 章: 列表和字典
- 引言
- 列表
- 列表实战
- 列表实战——基本列表操作
- 列表实战——列表迭代和 Comprehensions
- 列表实战——索引、切片和矩阵
- 列表实战——就地改变列表
- 列表实战——就地改变列表——索引和切片赋值
- 列表实战——就地改变列表——列表方法调用
- 列表实战——就地改变列表——关于列表排序的更多知识
- 列表实战——就地改变列表——其它常见的列表方法
- 列表实战——就地改变列表——其它常见的列表操作
- 字典实战
- 字典实战——基本字典操作
- 字典实战——就地修改字典
- 字典实战——更多的字典方法
- 字典实战——示例:电影数据库
- 字典实战——示例:电影数据库——预览:将值映射到键
- 字典实战——字典用法说明
- 字典实战——字典用法说明——使用字典模拟灵活的列表:整数键
- 字典实战——字典用法说明——对稀疏的数据结构使用字典:元组键
- 字典实战——字典用法说明——避免缺失键的错误
- 字典实战——字典用法说明——字典中的嵌套
- 字典实战——创建字典的其它方式
- 字典实战——在Python 3.X 和 2.7 中的字典改变
- 字典实战——在Python 3.X 和 2.7 中的字典改变——在3.X和2.7中的字典comprehension
- 字典实战——在Python 3.X 和 2.7 中的字典改变——在3.X中的字典视图(和2.7中通过新方法)
- 字典实战——在Python 3.X 和 2.7 中的字典改变——字典视图和sets
- 字典实战——在Python 3.X 和 2.7 中的字典改变——在3.X中排序字典键
- 字典实战——在Python 3.X 和 2.7 中的字典改变——3.X中字典的数字比较不再起作用
- 字典实战——在Python 3.X 和 2.7 中的字典改变—— has_key 方法在3.X中已死:in 万岁!
- 本章总结
- 测试知识:小测验
- 测试知识:答案
- 第二部分 类型与操作 —— 第 9 章: 元组,文件和其他
- 引言
- 元组
- 元组实战
- 元组实战——元组语法特点:逗号和小括号
- 元组实战——转换,方法和不可更改性
- 为什么元组和列表?
- Records Revisited: 命名元组
- 文件
- 文件——打开文件
- 文件——使用文件
- 文件——文件实战
- 文本和二进制文件:简要概述
- 文件——在文件中存储Python对象:转换
- 文件——存储原生的Python对象:pickle
- 文件——以JSON格式存储Python对象
- 存储打包的二进制数据:struct 模块
- 文件——文件上下文管理器
- 文件——其它文件工具
- 核心类型复习和总结
- 核心类型复习和总结——对象灵活性
- 核心对象类型复习和总结——引用 VS 拷贝
- 核心对象类型复习和总结——比较、相等和为真
- 核心对象类型复习和总结——比较、相等和为真——Python 2.X 和 3.X 混合类型比较和排序
- 核心对象类型复习和总结——比较、相等和为真——Python 2.X 和 3.X 的字典比较
- 核心类型复习和总结——Python中True和False的含义
- 核心类型复习和总结——Python中True和False的含义——None 对象
- 核心类型复习和总结——Python中True和False的含义——布尔类型
- 核心类型复习和总结——Python的类型层次结构
- 核心类型复习和总结——Type 对象
- 核心类型复习和总结——Python中的其它类型
- 内置类型的问题
- 内置类型的问题——赋值创建引用,而非拷贝
- 内置类型的问题——重复增加一个层次的深度
- 内置类型的问题——小心循环的数据结构
- 内置类型的问题——不可变类型不能就地改变
- 本章总结
- 测试知识:小测验
- 测试知识:答案
- 测试知识:Part II 练