思维导图备注

[Python学习手册(原书第4版)]Mark Lutz
首页 收藏书籍 阅读记录
  • 书签 我的书签
  • 添加书签 添加书签 移除书签 移除书签

第八部分 高级话题

浏览 1 扫码
  • 小字体
  • 中字体
  • 大字体
2022-10-21 15:54:13
请 登录 再阅读
上一篇:
下一篇:
  • 书签
  • 添加书签 移除书签
  • O'Reilly Media,Inc.介绍
  • 译者序
  • 前言
    • 新增章
    • 关于本书
      • 本书的范围和其他书籍
      • 本书的风格和结构
    • 已有内容的修改
    • 书籍更新
    • Python 2.6和Python 3.0中的特定语言扩展
    • 关于本书的程序
    • Python 3.0中特定的语言删除
    • 使用代码示例
    • 体例
    • 联系我们
    • 致谢
  • 第一部分 使用入门
    • 开发效率
    • 好吧,Python的缺点是什么呢
    • 第2章 Python如何运行程序
      • 程序执行
        • Python的视角
      • 执行模块的变体
        • 执行优化工具
        • 冻结二进制文件
        • 其他执行选项
        • 未来的可能性
      • 本章小结
      • 本章习题
      • 习题解答
    • Python是“脚本语言”吗
    • 如今谁在使用Python
    • 第3章 如何运行程序
      • 为什么使用交互提示模式
      • 系统命令行和文件
        • 使用命令行运行文件
        • 使用命令行和文件
        • UNIX可执行脚本(#!)
      • 使用交互提示模式
      • 点击文件图标
        • input的技巧
        • 图标点击的其他限制
      • 模块导入和重载
        • import和reload的使用注意事项
      • 使用exec运行模块文件
      • IDLE用户界面
        • 使用IDLE
        • 高级IDLE工具
      • 其他的IDE
      • 其他启动选项
        • 冻结二进制的可执行性
        • 文本编辑器启动的选择
        • 其他的启动选择
        • 未来的可能
      • 我应该选用哪种
      • 本章小结
      • 本章习题
      • 习题解答
      • 第一部分 练习题
    • 使用Python可以做些什么
      • 用户图形接口
      • Internet脚本
      • 组件集成
      • 数据库编程
      • 快速原型
      • 数值计算和科学计算编程
      • 游戏、图像、人工智能、XML、机器人等
    • Python如何获得支持
    • Python有哪些技术上的优点
      • 免费
      • 可移植
      • 功能强大
      • 可混合
      • 简单易用
      • 简单易学
    • Python和其他语言比较起来怎么样
    • 本章小结
    • 本章习题
    • 习题解答
  • 第二部分 类型和运算
    • 数字
    • 第5章 数字
      • 内置数学工具和扩展
      • 在实际应用中的数字
        • 数字显示的格式
        • 比较:一般的和连续的
        • 除法:传统除法、Floor除法和真除法
        • 整数精度
        • 复数
        • 十六进制、八进制和二进制记数
        • 位操作
        • 其他的内置数学工具
      • Python表达式操作符
      • 其他数字类型
        • 分数类型
        • 集合
        • 布尔型
      • 数字扩展
      • 本章小结
      • 本章习题
      • 习题解答
    • 字符串
      • 不可变性
      • 类型特定的方法
      • 寻求帮助
      • 编写字符串的其他方法
      • 模式匹配
    • 第6章 动态类型简介
      • 类型属于对象,而不是变量
      • 共享引用
        • 共享引用和相等
      • 对象的垃圾收集
      • 动态类型随处可见
      • 本章小结
      • 本章习题
      • 习题解答
    • 列表
      • 类型特定的操作
      • 边界检查
      • 嵌套
      • 列表解析
    • 第7章 字符串
      • 用转义序列代表特殊字节
      • 实际应用中的字符串
        • 索引和分片
        • 字符串转换工具
        • 修改字符串
      • raw字符串抑制转义
      • 字符串方法
        • 字符串方法实例:文本解析
        • 实际应用中的其他常见字符串方法
        • 最初的字符串模块(在Python 3.0中删除)
      • 三重引号编写多行字符串块
      • 字符串格式化表达式
        • 基于字典的字符串格式化
      • 字符串格式化调用方法
        • 添加键、属性和偏移量
        • 添加具体格式化
        • 与%格式化表达式比较
        • 为什么用新的格式化方法
      • 通常意义下的类型分类
        • 可变类型能够在原处修改
      • 本章小结
      • 本章习题
      • 习题解答
    • 字典
      • 重访嵌套
      • 键的排序:for循环
      • 迭代和优化
      • 不存在的键:if测试
    • 第8章 列表与字典
      • 实际应用中的列表
        • 列表迭代和解析
        • 索引、分片和矩阵
        • 原处修改列表
      • 字典
      • 实际应用中的字典
        • 原处修改字典
        • 其他字典方法
        • 语言表
        • 字典用法注意事项
        • 创建字典的其他方法
        • Python 3.0中的字典变化
      • 本章小结
      • 本章习题
      • 习题解答
    • 元组
    • 第9章 元组、文件及其他
      • 为什么有了列表还要元组
      • 文件
        • 使用文件
        • 实际应用中的文件
        • 其他文件工具
      • 重访类型分类
      • 对象灵活性
      • 引用VS拷贝
      • 比较、相等性和真值
        • Python中真和假的含义
        • Python的类型层次
        • Type对象
      • Python中的其他类型
        • 赋值生成引用,而不是拷贝
        • 重复能够增加层次深度
        • 留意循环数据结构
        • 不可变类型不可以在原处改变
      • 本章小结
      • 本章习题
      • 习题解答
      • 第二部分 练习题
    • 文件
    • 其他核心类型
      • 用户定义的类
      • 剩余的内容
    • 本章小结
    • 本章习题
    • 习题解答
  • 第三部分 语句和语法
    • 两个if的故事
      • Python删除了什么
      • 为什么使用缩进语法
      • 几个特殊实例
    • 第11章 赋值、表达式和打印
      • 序列赋值
      • 表达式语句
      • Python 3.0中的扩展序列解包
      • 打印操作
        • Python 2.6 print语句
        • 打印流重定向
        • 版本独立的打印
      • 多目标赋值语句
      • 本章小结
      • 增强赋值语句
      • 本章习题
      • 变量命名规则
      • 习题解答
    • 简短实例:交互循环
      • 对用户输入数据做数学运算
      • 用测试输入数据来处理错误
      • 用try语句处理错误
      • 嵌套代码三层
    • 第12章 if测试和语法规则
      • 基本例子
      • Python语法规则
        • 语句的分隔符
        • 一些特殊情况
      • 多路分支
      • 真值测试
      • if/else三元表达式
      • 本章小结
      • 本章习题
      • 习题解答
    • 本章小结
    • 第13章 while和for循环
      • 例子
      • 编写循环的技巧
        • 非完备遍历:range和分片
        • 修改列表:range
        • 并行遍历:zip和map
        • 产生偏移和元素:enumerate
      • break、continue、pass和循环else
      • 本章小结
      • 一般循环格式
      • 本章习题
      • pass
      • 习题解答
      • continue
      • break
      • 循环else
      • for循环
      • 一般格式
      • 例子
    • 本章习题
    • 第14章 迭代器和解析,第一部分
      • 手动迭代:iter和next
      • 列表解析:初探
        • 在文件上使用列表解析
        • 扩展的列表解析语法
      • 其他内置类型迭代器
      • 其他迭代环境
      • Python 3.0中的新的可迭代对象
        • map、zip和filter迭代器
        • 多个迭代器VS单个迭代器
        • 字典视图迭代器
      • 其他迭代器主题
      • 本章小结
      • 本章习题
      • 习题解答
    • 习题解答
    • 第15章 文档
      • dir函数
      • 常见编写代码的陷阱
      • 文档字符串:__doc__
      • 本章小结
      • PyDoc:help函数
      • 本章习题
      • PyDoc:HTML报表
      • 习题解答
      • 标准手册集
      • 第三部分 练习题
      • 网络资源
      • 已出版的书籍
  • 第四部分 函数
    • 编写函数
      • def语句是实时执行的
    • 第17章 作用域
      • 变量名解析:LEGB原则
      • global语句
        • 最小化文件间的修改
        • 其他访问全局变量的方法
      • 作用域实例
      • 作用域和嵌套函数
        • 嵌套作用域举例
      • 内置作用域
      • nonlocal语句
        • nonlocal应用
        • 为什么使用nonlocal
      • 本章小结
      • 本章习题
      • 习题解答
    • 第一个例子:定义和调用
      • 调用
      • Python中的多态
    • 第18章 参数
      • 避免可变参数的修改
      • 特定的参数匹配模型
        • 匹配语法
        • 细节
        • 关键字参数和默认参数的实例
        • 任意参数的实例
        • Python 3.0 Keyword-Only参数
        • min调用
        • 满分
        • 加分点
        • 结论
      • 对参数输出进行模拟
      • 一个更有用的例子:通用set函数
      • 模拟Python 3.0 print函数
      • 本章小结
      • 本章习题
      • 习题解答
    • 第二个例子:寻找序列的交集
      • 调用
      • 重访多态
      • 本地变量
    • 第19章 函数的高级话题
      • 递归函数
        • 编码替代方案
        • 循环语句VS递归
        • 处理任意结构
      • 函数对象:属性和注解
        • 函数内省
        • 函数属性
        • Python 3.0中的函数注解
      • 匿名函数:lambda
        • 为什么使用lambda
        • 如何(不要)让Python代码变得晦涩难懂
        • 嵌套lambda和作用域
      • 在序列中映射函数:map
      • 函数式编程工具:filter和reduce
      • 本章小结
      • 本章习题
      • 习题解答
    • 本章小结
    • 第20章 迭代和解析,第二部分
      • 增加测试和嵌套循环
      • 重访迭代器:生成器
        • 生成器表达式:迭代器遇到列表解析
        • 生成器函数VS生成器表达式
        • 生成器是单迭代器对象
        • 用迭代工具模拟zip和map
        • 内置类型和类中的值生成
      • 列表解析和矩阵
      • Python 3.0解析语法概括
        • 针对集合和字典的扩展的解析语法
      • 理解列表解析
      • 对迭代的各种方法进行计时
        • 计时脚本
        • 计时结果
        • 计时模块替代方案
        • 其他建议
      • 函数陷阱
        • 默认和可变对象
        • 没有return语句的函数
        • 嵌套作用域的循环变量
      • 本章小结
      • 本章习题
      • 习题解答
      • 第四部分 练习题
    • 本章习题
    • 习题解答
  • 第五部分 模块
    • Python程序架构
      • 导入和属性
      • 标准库模块
    • 第22章 模块代码编写基础
      • 模块的使用
        • from语句
        • from*语句
        • 导入只发生一次
        • import和from是赋值语句
        • 文件间变量名的改变
        • import和from的对等性
        • from语句潜在的陷阱
      • 模块命名空间
        • 属性名的点号运算
        • 导入和作用域
        • 命名空间的嵌套
      • 重载模块
        • reload实例
      • 本章小结
      • 本章习题
      • 习题解答
    • import如何工作
      • 2.编译(可选)
      • 3.运行
    • 第23章 模块包
      • __init__.py包文件
      • 包导入实例
      • 为什么要使用包导入
      • 包相对导入
        • 相对导入基础知识
        • 为什么使用相对导入
        • 相对导入的作用域
        • 模块查找规则总结
        • 相对导入的应用
      • 本章小结
      • 本章习题
      • 习题解答
    • 模块搜索路径
      • 搜索路径的变动
      • sys.path列表
      • 模块文件选择
      • 高级的模块选择概念
    • 第24章 高级模块话题
      • 启用以后的语言特性
      • 混合用法模式:__name__和__main__
        • 使用带有__name__的命令行参数
      • 修改模块搜索路径
      • Import语句和from语句的as扩展
      • 模块是对象:元程序
      • 用名称字符串导入模块
      • 过渡性模块重载
      • 模块设计理念
      • 模块陷阱
        • from复制变量名,而不是连接
        • from*会让变量语义模糊
        • reload不会影响from导入
        • reload、from以及交互模式测试
        • 递归形式的from导入无法工作
      • 本章小结
      • 本章习题
      • 习题解答
      • 第五部分 练习题
    • 本章小结
    • 本章习题
    • 习题解答
  • 第六部分 类和OOP
    • 概览OOP
      • 类和实例
      • 类方法调用
      • 编写类树
      • OOP是为了代码重用
    • 第26章 类代码编写基础
      • 实例对象是具体的元素
      • 类通过继承进行定制
        • 类是模块内的属性
      • 第一个例子
      • 类可以截获Python运算符
        • 为什么要使用运算符重载
      • 世界上最简单的Python类
      • 本章小结
      • 本章习题
      • 习题解答
    • 本章小结
    • 第27章 更多实例
      • 在进行中测试
      • 步骤2:添加行为方法
      • 以两种方式使用代码
      • 步骤3:运算符重载
      • 步骤4:通过子类定制行为
        • 扩展方法:不好的方式
        • 扩展方法:好的方式
        • 多态的作用
        • 继承、定制和扩展
        • OOP:大思路
      • 步骤5:定制构造函数
        • 组合类的其他方式
      • 步骤6:使用内省工具
        • 一种通用显示工具
        • 实例与类属性的关系
        • 工具类的命名考虑
        • 类的最终形式
      • 步骤7(最后一步):把对象存储到数据库中
        • 在shelve数据库中存储对象
        • 交互地探索shelve
        • 更新shelve中的对象
      • 未来方向
      • 本章小结
      • 本章习题
      • 习题解答
    • 本章习题
    • 第28章 类代码编写细节
      • 例子
      • 方法
        • 调用超类构造函数
        • 其他方法调用的可能性
      • 继承
        • 继承方法的专有化
        • 类接口技术
        • 抽象超类
        • Python 2.6和Python 3.0的抽象超类
      • 命名空间:完整的内容
        • 属性名称:对象命名空间
        • Python命名空间的“禅”:赋值将变量名分类
        • 命名空间字典
        • 命名空间链接
      • 回顾文档字符串
      • 类与模块的关系
      • 本章小结
      • 本章习题
      • 习题解答
    • 习题解答
    • 第29章 运算符重载
      • 常见的运算符重载方法
      • 索引和分片:__getitem__和__setitem__
      • 索引迭代:__getitem__
      • 迭代器对象:__iter__和__next__
        • 有多个迭代器的对象
      • 成员关系:__contains__、__iter__和__getitem__
      • 属性引用:__getattr__和__setattr__
        • 模拟实例属性的私有性:第一部分
      • __repr__和__str__会返回字符串表达形式
      • 右侧加法和原处加法:__radd__和__iadd__
      • Call表达式:__call__
      • 比较:__lt__、__gt__和其他方法
      • 布尔测试:__bool__和__len__
      • 对象析构函数:__del__
      • 本章小结
      • 本章习题
      • 习题解答
    • 第30章 类的设计
      • OOP和继承:“是一个”关系
      • OOP和组合:“有一个”关系
      • OOP和委托:“包装”对象
      • 类的伪私有属性
        • 为什么使用伪私有属性
      • 方法是对象:绑定或无绑定
        • 绑定方法和其他可调用对象
      • 多重继承:“混合”类
      • 类是对象:通用对象的工厂
      • 与设计相关的其他话题
      • 本章小结
      • 本章习题
      • 习题解答
    • 第31章 类的高级主题
      • 通过子类扩展类型
      • 新式类
      • 新式类变化
        • 钻石继承变动
      • 新式类的扩展
        • 类特性
        • __getattribute__和描述符
        • 元类
      • 静态方法和类方法
        • Python 2.6和Python 3.0中的静态方法
        • 静态方法替代方案
        • 使用静态和类方法
        • 使用静态方法统计实例
        • 用类方法统计实例
      • 装饰器和元类:第一部分
        • 装饰器例子
        • 类装饰器和元类
        • 更多详细信息
      • 类陷阱
        • 修改可变的类属性也可能产生副作用
        • 多重继承:顺序很重要
        • 类、方法以及嵌套作用域
        • Python中基于委托的类:__getattr__和内置函数
        • “过度包装”
      • 本章小结
      • 本章习题
      • 习题解答
      • 第六部分 练习题
  • 第七部分 异常和工具
    • 异常处理:简明扼要
      • 捕获异常
      • 引发异常
      • 用户定义的异常
      • 终止行为
    • 第33章 异常编码细节
      • try/else分句
      • try/finally语句
      • 例子:默认行为
      • 统一try/except/finally语句
        • 通过嵌套合并finally和except
        • 合并try的例子
      • 例子:捕捉内置异常
      • raise语句
        • Python 3.0异常链:raise from
      • assert语句
      • with/as环境管理器
        • 环境管理协议
      • 本章小结
      • 本章习题
      • 习题解答
    • 本章小结
    • 第34章 异常对象
      • 基于类的异常
      • 为什么使用类异常
      • 类异常例子
      • 内置Exception类
        • 默认打印和状态
      • 定制打印显示
      • 定制数据和行为
        • 提供异常方法
      • 本章小结
      • 本章习题
      • 习题解答
    • 本章习题
    • 第35章 异常的设计
      • 例子:语法嵌套化
      • 异常的习惯用法
        • 函数信号条件和raise
        • 关闭文件和服务器连接
        • 在try外进行调试
        • 运行进程中的测试
        • 关于sys.exc_info
      • 与异常有关的技巧
      • 应该包装什么
        • 捕捉过少:使用基于类的分类
      • 核心语言总结
        • 大型项目的开发工具
      • 本章小结
      • 第七部分 练习题
    • 习题解答
  • 第八部分 高级话题
    • 字符串基础知识
      • Python的字符串类型
      • 文本和二进制文件
    • 第37章 管理属性
      • 特性
        • 第一个例子
        • 计算的属性
        • 使用装饰器编写特性
      • 描述符
        • 第一个示例
        • 计算的属性
        • 在描述符中使用状态信息
        • 特性和描述符是如何相关的
      • __getattr__和__getattribute__
        • 第一个示例
        • 计算属性
      • __getattr__和__getattribute__比较
        • 拦截内置操作属性
        • 重访基于委托的Manager
      • 示例:属性验证
        • 使用描述符验证
        • 使用__getattr__来验证
        • 使用__getattribute__验证
      • 本章小结
      • 本章习题
      • 习题解答
    • Python 3.0中的字符串应用
      • 转换
    • 第38章 装饰器
      • 管理函数和类
      • 基础知识
        • 类装饰器
        • 装饰器嵌套
        • 装饰器参数
        • 装饰器管理函数和类
      • 使用和定义装饰器
      • 编写函数装饰器
        • 状态信息保持选项
        • 类错误之一:装饰类方法
        • 计时调用
        • 添加装饰器参数
      • 为什么使用装饰器
      • 编写类装饰器
        • 跟踪对象接口
        • 类错误之二:保持多个实例
        • 装饰器与管理器函数的关系
        • 为什么使用装饰器(重访)
      • 直接管理函数和类
      • 示例:“私有”和“公有”属性
        • 实现细节之一
        • 使用__dict__和__slots__
        • 公有声明的泛化
        • 实现细节之二
        • 开放问题
        • Python不是关于控制
      • 示例:验证函数参数
        • 针对位置参数的一个基本范围测试装饰器
        • 针对关键字和默认泛化
        • 实现细节
        • 开放问题
        • 装饰器参数VS函数注解
        • 其他应用程序:类型测试
      • 本章小结
      • 本章习题
      • 习题解答
    • 编码Unicode字符串
      • 编码非ASCII文本
      • 编码和解码非ASCII文本
      • 其他Unicode编码技术
      • 转换编码
      • 在Python 2.6中编码Unicode字符串
      • 源文件字符集编码声明
    • 第39章 元类
      • “辅助”函数的缺点
      • 元类模型
        • 元类是Type的子类
        • Class语句协议
      • 元类与类装饰器的关系:第一回合
      • 声明元类
      • 编写元类
        • 定制构建和初始化
        • 其他元类编程技巧
        • 实例与继承的关系
      • 示例:向类添加方法
        • 基于元类的扩展
        • 元类与类装饰器的关系:第二回合
      • 示例:对方法应用装饰器
        • 用元类和装饰器跟踪
        • 把任何装饰器应用于方法
        • 元类与类装饰器的关系:第三回合
      • 本章小结
      • 本章习题
      • 习题解答
    • 使用Python 3.0 Bytes对象
      • 序列操作
      • 创建bytes对象的其他方式
      • 混合字符串类型
    • 使用Python 3.0(和Python 2.6)bytearray对象
    • 使用文本文件和二进制文件
      • Python 3.0中的文本和二进制模式
      • 类型和内容错误匹配
    • 使用Unicode文件
      • 在Python 3.0中处理BOM
      • Python 2.6中的Unicode文件
    • Python 3.0中其他字符串工具的变化
      • Struct二进制数据模块
      • pickle对象序列化模块
      • XML解析工具
    • 本章小结
    • 本章习题
    • 习题解答
  • 第九部分 附录
    • 从哪里获取Python
    • 配置Python
      • 如何设定配置选项
      • Python命令行选项
    • 附录B 各部分练习题的解答
      • 第二部分 类型和运算
      • 第三部分 语句和语法
      • 第四部分 函数
      • 第五部分 模块
      • 第六部分 类和OOP
      • 第七部分 异常和工具
    • 安装步骤
    • 寻求更多帮助
  • 作者介绍
  • 封面介绍
暂无相关搜索结果!
    展开/收起文章目录

    二维码

    手机扫一扫,轻松掌上学

    《[Python学习手册(原书第4版)]Mark Lutz》电子书下载

    请下载您需要的格式的电子书,随时随地,享受学习的乐趣!
    EPUB 电子书

    书签列表

      阅读记录

      阅读进度: 0.00% ( 0/0 ) 重置阅读进度