Python3.4解释器用法简单示例


-
本文实例讲述了Python3.4解释器用法。分享给大家供大家参考,具体如下: Linux/Unix的系统上,Python解释器通常被安装在 /usr/local/bin/python3.4 这样的有效路径(目录)里。 我们可以将路径 /usr/local/bin 添加到您的Linux/Unix操作系统的环境变量中,这样您就可以通过 shell 终端输入下面的命令来启动 Python。(可查看“说明与安装”中Ubuntu15.04设置默认Python为3.4) python3.4 在Window系统下你可以通过以下命令来设置Python的环境变量,假设你的Python安装在 C:\Python3

26.73MB
Python参考手册(第4版 中文高清版)
2013-03-23第一部分 Python语言 第1章 Python简介 1.1 运行Python 1.2 变量和算术表达式 1.3 条件语句 1.4 文件输入和输出 1.5 字符串 1.6 列表 1.7 元组 1.8 集合 1.9 字典 1.10 迭代与循环 1.11 函数 1.12 生成器 1.13协程 1.14 对象与类 1.15 异常 1.16 模块 1.17 获得帮助 第2章 词汇和语法约定 2.1 行结构和缩进 2.2 标识符和保留字 2.3 数字字面量 2.4.字符串字面量 2.5 容器 2.6 运算符、分隔符及特殊符号 2.7 文档字符串 2.8 装饰器 2.9 源代码编码 第3章 类型与对象 3.1 术语 3.2 对象的身份与类型 3.3 引用计数与垃圾收集 3.4 引用与复制 3.5 第一类对象 3.6 表示数据的内置类型 3.6.1 None类型 3.6.2 数字类型 3.6.3 序列类型 3.6.4 映射类型 3.6.5 集合类型 3.7 表示程序结构的内置类型 3.7.1 可调用类型 3.7.2 类、类型与实例 3.7.3 模块 3.8 解释器内部使用的内置类型 3.8.1 代码对象 3.8.2 帧对象 3.8.3 跟踪对象 3.8.4 生成器对象 3.8.5 切片对象 3.8.6 Ellipsis对象 3.9 对象行为与特殊方法 3.9.1 对象的创建与销毁 3.9.2 对象字符串表示 3.9.3 对象比较与排序 3.9.4 类型检查 3.9.5 属性访问 3.9.6 属性包装与描述符 3.9.7 序列与映射方法 3.9.8 迭代 3.9.9 数学操作 3.9.10 可调用接口 3.9.11 上下文管理协议 3.9.12 对象检查与dir() 第4章 运算符与表达式 4.1 数字操作 4.2 序列操作 4.3 字符串格式化 4.4 高级字符串格式化 4.5 字典操作 4.6 集合操作 4.7 增量赋值 4.8 属性(.)运算符 4.9 函数调用()运算符 4.10 转换函数 4.11 布尔表达式与真值 4.12 对象的比较与身份 4.13 运算优先级 4.14 条件表达式 第5章 程序结构与控制流 5.1 程序结构与执行 5.2 执行条件语句 5.3 循环与迭代 5.4 异常 5.4.1 内置异常 5.4.2 定义新异常 5.5 上下文管理器与with语句 5.6 断言与__debug__ 第6章 函数与函数编程 6.1 函数 6.2 参数传递与返回值 6.3 作用域规则 6.4 函数对象与闭包 6.5 装饰器 6.6 生成器与yield 6.7 协程与yield表达式 6.8 使用生成器与协程 6.9 列表包含 6.10 生成器表达式 6.11 声明式编程 6.12 lambda运算符 6.13 递归 6.14 文档字符串 6.15 函数属性 6.16 eval()、exec()和compile()函数 第7章 类与面向对象编程 7.1 class语句 7.2 类实例 7.3 范围规则 7.4 继承 7.5 多态动态绑定和鸭子类型 7.6 静态方法和类方法 7.7 特性 7.8 描述符 7.9 数据封装和私有属性 7.10 对象内存管理 7.11 对象表示和属性绑定 7.12 __slots__ 7.13 运算符重载 7.14 类型和类成员测试 7.15 抽象基类 7.16 元类 7.17 类装饰器 第8章 模块、包与分发 8.1 模块与import语句 8.2 从模块导入选定符号 8.3 以主程序的形式执行 8.4 模块搜索路径 8.5 模块加载和编译 8.6 模块重新加载和卸载 8.7 包 8.8 分发Python程序和库 8.9 安装第三方库 第9章 输入与输出 9.1 读取命令行选项 9.2 环境变量 9.3 文件和文件对象 9.4 标准输入、输出和错误 9.5 print语句 9.6 print()函数 9.7 文本输出中的变量插入 9.8 生成输出 9.9 Unicode字符串处理 9.10 UnicodeI/O 9.10.1 Unicode数据编码 9.10.2 Unicode字符特性 9.11 对象持久性与pickle模块 第10章 执行环境 10.1 解释器选项与环境 10.2 交互式会话 10.3 启动python应用程序 10.4 站点配置文件 10.5 用户站点包 10.6 启用新功能 10.7 程序终止 第11章 测试、调试、探查与调优 11.1 文档字符串和doctest模块 11.2 单元测试和unittest模块 11.3 Python调试器和pdb模块 11.3.1 调试器命令 11.3.2 从命令行进行调试 11.3.3 配置调试器 11.4 程序探查 11.5 调优与优化 11.5.1 进行计时测量 11.5.2 进行内存测量 11.5.3 反汇编 11.5.4 调优策略 第二部分 Python库 第12章 内置函数和异常 12.1 内置函数和类型 12.2 内置异常 12.2.1 异常基类 12.2.2 异常实例 12.2.3 预定义的异常类 12.3 内置警告 12.4 future_builtins 第13章 Python运行时服务 13.1 a七exit 13.2 copy 13.3 gc 13.4 inspect 13.5 marshal 13.6 pickle 13.7 SYS 13.7.1 变量 13.7.2 函数 13.8 traceback 13.9 types 13.10 warnings 13.11 weakref 第14章 数学运算 14.1 decimal 14.1.1 Decimal对象 14.1.2 Context对象 14.1.3 函数和常量 14.1.4 示例 14.2 fractions 14.3 math 14.4 numbers 14.5 random 14.5.1 种子和初始化 14.5.2 随机整数 14.5.3 随机序列 14.5.4 实值随机分布 第15章 数据结构、算法与代码简化 15.1 abc 15.2 array 15.3 bisect 15.4 collections 15.4.1 deque和defaultdict 15.4.2 命名元组 15.4.3 抽象基类 15.5 contextlib 15.6 functoos 15.7 heapq 15.8 itertools 15.9 operator 第16章 字符串和文本处理 16.1 odecs 16.1.1 低级codecs接口 16.1.2 I/O相关函数 16.1.3 有用的常量 16.1.4 标准编码 16.1.5 注意 16.2 re 16.2.1 模式语法 16.2.2 函数 16.2.3 正则表达式对象 16.2.4 匹配对象 16.2.5 示例 16.2.6 注意 16.3 string 16.3.1 常量 16.3.2 Formatter对象 16.3.3 Template字符串 16.3.4 实用工具函数 16.4 struct 16.4.1 打包和解包函数 16.4.2 Struct对象 16.4.3 格式编码 16.4.4 注意 16.5 unicodedata 第17章 Python数据库访问 17.1 关系数据库API规范 17.1.1 连接 17.1.2 Cursor 17.1.3 生成查询 17.1.4 类型对象 17.1.5 错误处理 17.1.6 多线程 17.1.7 将结果映射到字典中 17.1.8 数据库API扩展 17.2 sqlite3模块 17.2.1 模块级函数 17.2.2 连接对象 17.2 13游标和基本操作 17.3 DBM风格的数据库模块 17.4 shelve模块 第18章 文件和目录处理 18.1 bz2 18.2 filecmp 18.3 fnmatch 18.4 glob 18.5 gzip 18.6 Shutil 18.7 tarfile 18.7.1 异常 18.7.2 示例 18.8 tempfile 18.9 zipfile 18.10 z1ib 第19章 操作系统服务 19.1 Commands模块 19.2 ConfigParser、configparser模块 19.2.IconfigParser类 19.2.2 示例 19.2.3 注意 19.3 datetime模块 19.3.1 date对象 19.3.2 time对象 19.3.3 datetime对象 19.3.4 timedelta对象 …… 第20章 线程与并发性 第21章 网络编程和套接字 第22章 Internet应用程序编程 第23章 Web编程 第24章 Internet数据处理和编码 第25章 其他库模块 第三部分 扩展与嵌入 第26章 扩展与嵌入Python 附录 Python 3
11.70MB
深入理解Python中文版高清PDF
2012-09-04第1部分 Python核心 第1章 欢迎来到Python世界 1.1 什么是Python 1.2 起源 1.3 特点 1.3.1 高级 1.3.2 面向对象 1.3.3 可升级 1.3.4 可扩展 1.3.5 可移植性 1.3.6 易学 1.3.7 易读 1.3.8 易维护 1.3.9 健壮性 1.3.10 高效的快速原型开发工具 1.3.11 内存管理器 1.3.12 解释性和(字节)编译性 1.4 下载和安装Python 1.5 运行Python 1.5.1 命令行上的交互式解释器 1.5.2 从命令行启动脚本 1.5.3 集成开发环境 1.5.4 其他的集成开发环境和执行环境 1.6 Python文档 1.7 比较Python(Python与其他语言的比较) 1.8 其他实现 1.9 练习 第2章 快速入门 2.1 程序输出,print语句及“Hello World!” 2.2 程序输入和raw_input()内建函数 2.3 注释 2.4 操作符 2.5 变量和赋值 2.6 数字 2.7 字符串 2.8 列表和元组 2.9 字典 2.10 代码块及缩进对齐 2.11 if语句 2.12 while循环 2.13 for循环和range()内建函数 2.14 列表解析 2.15 文件和内建函数open()、file() 2.16 错误和异常 2.17 函数 2.17.1 如何定义函数 2.17.2 如何调用函数 2.17.3 默认参数 2.18 类 2.19 模块 2.19.1 如何导入模块 2.19.2 如何访问一个模块函数或访问一个模块变量 2.20 实用的函数 2.21 练习 第3章 Python基础 3.1 语句和语法 3.1.1 注释(#) 3.1.2 继续(\) 3.1.3 多个语句构成代码组(:) 3.1.4 代码组由不同的缩进分隔 3.1.5 同一行书写多个语句(;) 3.1.6 模块 3.2 变量赋值 3.2.1 赋值操作符 3.2.2 增量赋值 3.2.3 多重赋值 3.2.4 “多元”赋值 3.3 标识符 3.3.1 合法的Python标识符 3.3.2 关键字 3.3.3 内建 3.3.4 专用下划线标识符 3.4 基本风格指南 3.4.1 模块结构和布局 3.4.2 在主程序中书写测试代码 3.5 内存管理 3.5.1 变量定义 3.5.2 动态类型 3.5.3 内存分配 3.5.4 引用计数 3.5.5 垃圾收集 3.6 第一个Python程序 3.7 相关模块和开发工具 3.8 练习 第4章 Python对象 4.1 Python 对象 4.2 标准类型 4.3 其他内建类型 4.3.1 类型对象和type类型对象 4.3.2 None--Python的Null对象 4.4 内部类型 4.4.1 代码对象 4.4.2 帧对象 4.4.3 跟踪记录对象 4.4.4 切片对象 4.4.5 省略对象 4.4.6 XRange 对象 4.5 标准类型操作符 4.5.1 对象值的比较 4.5.2 对象身份比较 4.5.3 布尔类型 4.6 标准类型内建函数 4.6.1 type() 4.6.2 cmp() 4.6.3 str()和repr()(及``操作符) 4.6.4 type()和isinstance() 4.6.5 Python类型操作符和内建函数总结 4.7 类型工厂函数 4.8 标准类型的分类 4.8.1 存储模型 4.8.2 更新模型 4.8.3 访问模型 4.9 不支持的类型 4.10 练习
5.25MB
Python核心编程第二版(中文)
2015-04-23目录 ······ 第1部分 Python核心 第1章 欢迎来到Python世界 1.1 什么是Python 1.2 起源 1.3 特点 1.3.1 高级 1.3.2 面向对象 1.3.3 可升级 1.3.4 可扩展 1.3.5 可移植性 1.3.6 易学 1.3.7 易读 1.3.8 易维护 1.3.9 健壮性 1.3.10 高效的快速原型开发工具 1.3.11 内存管理器 1.3.12 解释性和(字节)编译性 1.4 下载和安装Python 1.5 运行Python 1.5.1 命令行上的交互式解释器 1.5.2 从命令行启动脚本 1.5.3 集成开发环境 1.5.4 其他的集成开发环境和执行环境 1.6 Python文档 1.7 比较Python(Python与其他语言的比较) 1.8 其他实现 1.9 练习 第2章 快速入门 2.1 程序输出,print语句及“Hello World!” 2.2 程序输入和raw_input()内建函数 2.3 注释 2.4 操作符 2.5 变量和赋值 2.6 数字 2.7 字符串 2.8 列表和元组 2.9 字典 2.10 代码块及缩进对齐 2.11 if语句 2.12 while循环 2.13 for循环和range()内建函数 2.14 列表解析 2.15 文件和内建函数open()、file() 2.16 错误和异常 2.17 函数 2.17.1 如何定义函数 2.17.2 如何调用函数 2.17.3 默认参数 2.18 类 2.19 模块 2.19.1 如何导入模块 2.19.2 如何访问一个模块函数或访问一个模块变量 2.20 实用的函数 2.21 练习 第3章 Python基础 3.1 语句和语法 3.1.1 注释(#) 3.1.2 继续(\) 3.1.3 多个语句构成代码组(:) 3.1.4 代码组由不同的缩进分隔 3.1.5 同一行书写多个语句(;) 3.1.6 模块 3.2 变量赋值 3.2.1 赋值操作符 3.2.2 增量赋值 3.2.3 多重赋值 3.2.4 “多元”赋值 3.3 标识符 3.3.1 合法的Python标识符 3.3.2 关键字 3.3.3 内建 3.3.4 专用下划线标识符 3.4 基本风格指南 3.4.1 模块结构和布局 3.4.2 在主程序中书写测试代码 3.5 内存管理 3.5.1 变量定义 3.5.2 动态类型 3.5.3 内存分配 3.5.4 引用计数 3.5.5 垃圾收集 3.6 第一个Python程序 3.7 相关模块和开发工具 3.8 练习 第4章 Python对象 4.1 Python 对象 4.2 标准类型 4.3 其他内建类型 4.3.1 类型对象和type类型对象 4.3.2 None--Python的Null对象 4.4 内部类型 4.4.1 代码对象 4.4.2 帧对象 4.4.3 跟踪记录对象 4.4.4 切片对象 4.4.5 省略对象 4.4.6 XRange 对象 4.5 标准类型操作符 4.5.1 对象值的比较 4.5.2 对象身份比较 4.5.3 布尔类型 4.6 标准类型内建函数 4.6.1 type() 4.6.2 cmp() 4.6.3 str()和repr()(及``操作符) 4.6.4 type()和isinstance() 4.6.5 Python类型操作符和内建函数总结 4.7 类型工厂函数 4.8 标准类型的分类 4.8.1 存储模型 4.8.2 更新模型 4.8.3 访问模型 4.9 不支持的类型 4.10 练习 第5章 数字 5.1 数字简介 5.1.1 如何创建数值对象并用其赋值(数字对象) 5.1.2 如何更新数字对象 5.1.3 如何删除数字对象 5.2 整型 5.2.1 布尔型 5.2.2 标准整型 5.2.3 长整型 5.2.4 整型和长整型的统一 5.3 双精度浮点型 5.4 复数 5.5 操作符 5.5.1 混合模式操作符 5.5.2 标准类型操作符 5.5.3 算术操作符 5.5.4 *位操作符(只适用于整型) 5.6 内建函数与工厂函数 5.6.1 标准类型函数 5.6.2 数字类型函数 5.6.3 仅用于整型的函数 5.7 其他数字类型 5.7.1 布尔“数” 5.7.2 十进制浮点型 5.8 相关模块 5.9 练习 第6章 序列:字符串、列表和元组 6.1 序列 6.1.1 标准类型操作符 6.1.2 序列类型操作符 6.1.3 内建函数(BIF) 6.2 字符串 6.3 字符串和操作符 6.3.1 标准类型操作符 6.3.2 序列操作符切片([]和[:]) 6.4 只适用于字符串的操作符 6.4.1 格式化操作符(%) 6.4.2 字符串模板: 更简单的替代品 6.4.3 原始字符串操作符(r/R) 6.4.4 Unicode字符串操作符(u/U) 6.5 内建函数 6.5.1 标准类型函数 6.5.2 序列类型函数 6.5.3 字符串类型函数 6.6 字符串内建函数 6.7 字符串的独特特性 6.7.1 特殊字符串和控制字符 6.7.2 三引号 6.7.3 字符串不变性 6.8 Unicode 6.8.1 术语 6.8.2 什么是Unicode 6.8.3 怎样使用Unicode 6.8.4 Codec是什么 6.8.5 编码解码 6.8.6 把Unicode应用到实际应用中 6.8.7 从现实中得来的教训 6.8.8 Python的Unicode支持 6.9 相关模块 6.10 字符串关键点总结 6.11 列表 6.12 操作符 6.12.1 标准类型操作符 6.12.2 序列类型操作符 6.12.3 列表类型操作符和列表解析 6.13 内建函数 6.13.1 标准类型函数 6.13.2 序列类型函数 6.13.3 列表类型内建函数 6.14 列表类型的内建函数 6.15 列表的特殊特性 6.16 元组 6.17 元组操作符和内建函数 6.17.1 标准类型操作符、序列类型操作符和内建函数 6.17.2 元组类型操作符和内建函数、内建方法 6.18 元组的特殊特性 6.18.1 不可变性给元组带来了什么影响 6.18.2 元组也不是那么“不可变” 6.18.3 默认集合类型 6.18.4 单元素元组 6.18.5 字典的关键字 6.19 相关模块 6.20 *拷贝Python对象、浅拷贝和深拷贝 6.21 序列类型小结 6.22 练习 第7章 映像和集合类型 7.1 映射类型:字典 7.1.1 如何创建字典和给字典赋值 7.1.2 如何访问字典中的值 7.1.3 如何更新字典 7.1.4 如何删除字典元素和字典 7.2 映射类型操作符 7.2.1 标准类型操作符 7.2.2 映射类型操作符 7.3 映射类型的内建函数和工厂函数 7.3.1 标准类型函数[type()、str()和cmp()] 7.3.2 映射类型相关的函数 7.4 映射类型内建方法 7.5 字典的键 7.5.1 不允许一个键对应多个值 7.5.2 键必须是可哈希的 7.6 集合类型 7.6.1 如何创建集合类型和给集合赋值 7.6.2 如何访问集合中的值 7.6.3 如何更新集合 7.6.4 如何删除集合中的成员和集合 7.7 集合类型操作符 7.7.1 标准类型操作符(所有的集合类型) 7.7.2 集合类型操作符(所有的集合类型) 7.7.3 集合类型操作符(仅适用于可变集合) 7.8 内建函数 7.8.1 标准类型函数 7.8.2 集合类型工厂函数 7.9 集合类型内建方法 7.9.1 方法(所有的集合方法) 7.9.2 方法(仅适用于可变集合) 7.9.3 操作符和内建方法比较 7.10 集合类型总结表 7.11 相关模块 7.12 练习 第8章 条件和循环 8.1 if语句 8.1.1 多重条件表达式 8.1.2 单一语句的代码块 8.2 else语句 8.3 elif(即else-if)语句 8.4 条件表达式(即“三元操作符”) 8.5 while语句 8.5.1 一般语法 8.5.2 计数循环 8.5.3 无限循环 8.6 for语句 8.6.1 一般语法 8.6.2 用于序列类型 8.6.3 用于迭代器类型 8.6.4 range()内建函数 8.6.5 xrange() 内建函数 8.6.6 与序列相关的内建函数 8.7 break语句 8.8 continue语句 8.9 pass语句 8.10 再谈else语句 8.11 迭代器和iter()函数 8.11.1 什么是迭代器 8.11.2 为什么要迭代器 8.11.3 如何迭代 8.11.4 使用迭代器 8.11.5 可变对象和迭代器 8.11.6 如何创建迭代器 8.12 列表解析 8.13 生成器表达式 8.14 相关模块 8.15 练习 第9章 文件和输入输出 9.1 文件对象 9.2 文件内建函数(open()和file()) 9.2.1 工厂函数file() 9.2.2 通用换行符支持(UNS) 9.3 文件内建方法 9.3.1 输入 9.3.2 输出 9.3.3 文件内移动 9.3.4 文件迭代 9.3.5 其他 9.3.6 文件方法杂项 9.4 文件内建属性 9.5 标准文件 9.6 命令行参数 9.7 文件系统 9.8 文件执行 9.9 永久存储模块 9.9.1 pickle和marshal模块 9.9.2 DBM风格的模块 9.9.3 shelve模块 9.10 相关模块 9.11 练习 第10章 错误和异常 10.1 什么是异常 10.1.1 错误 10.1.2 异常 10.2 Python 中的异常 10.3 检测和处理异常 10.3.1 try-except语句 10.3.2 包装内建函数 10.3.3 带有多个except的try语句 10.3.4 处理多个异常的except语句 10.3.5 捕获所有异常 10.3.6 “异常参数” 10.3.7 在应用使用我们封装的函数 10.3.8 else子句 10.3.9 finally子句 10.3.10 try-finally语句 10.3.11 try-except-else-finally:厨房一锅端 10.4 上下文管理 10.4.1 with语句 10.4.2 *上下文管理协议 10.5 *字符串作为异常 10.6 触发异常 10.7 断言 10.8 标准异常 10.9 *创建异常 10.10 (现在)为什么用异常 10.11 到底为什么要异常 10.12 异常和sys模块 10.13 相关模块 10.14 练习 第11章 函数和函数式编程 11.1 什么是函数? 11.1.1 函数vs过程 11.1.2 返回值与函数类型 11.2 调用函数 11.2.1 函数操作符 11.2.2 关键字参数 11.2.3 默认参数 11.2.4 参数组 11.3 创建函数 11.3.1 def语句 11.3.2 声明与定义比较 11.3.3 前向引用 11.3.4 函数属性 11.3.5 内部/内嵌函数 11.3.6 *函数(与方法)装饰器 11.4 传递函数 11.5 Formal Arguments 11.5.1 位置参数 11.5.2 默认参数 11.6 可变长度的参数 11.6.1 非关键字可变长参数(元组) 11.6.2 关键字变量参数(字典) 11.6.3 调用带有可变长参数对象函数 11.7 函数式编程 11.7.1 匿名函数与lambda 11.7.2 内建函数apply()、filter()、map()、reduce() 11.7.3 偏函数应用 11.8 变量作用域 11.8.1 全局变量与局部变量 11.8.2 globa语句 11.8.3 作用域的数字 11.8.4 闭包 11.8.5 作用域和lambda 11.8.6 变量作用域和名称空间 11.9 *递归 11.10 生成器 11.10.1 简单的生成器特性 11.10.2 加强的生成器特性 11.11 练习 第12章 模块 12.1 什么是模块 12.2 模块和文件 12.2.1 模块名称空间 12.2.2 搜索路径和路径搜索 12.3 名称空间 12.3.1 名称空间与变量作用域比较 12.3.2 名称查找、确定作用域、覆盖 12.3.3 无限制的名称空间 12.4 导入模块 12.4.1 import语句 12.4.2 from-import语句 12.4.3 多行导入 12.4.4 扩展的import语句(as) 12.5 模块导入的特性 12.5.1 载入时执行模块 12.5.2 导入(import)和加载(load) 12.5.3 导入到当前名称空间的名称 12.5.4 被导入到导入者作用域的名字 12.5.5 关于__future__ 12.5.6 警告框架 12.5.7 从ZIP文件中导入模块 12.5.8 “新的”导入钩子 12.6 模块内建函数 12.6.1 __import__() 12.6.2 globals()和locals() 12.6.3 reload() 12.7 包 12.7.1 目录结构 12.7.2 使用from-import导入包 12.8 模块的其他特性 12.8.1 自动载入的模块 12.8.2 阻止属性导入 12.8.3 不区分大小的导入 12.8.4 源代码编码 12.8.5 导入循环 12.8.6 模块执行 12.9 相关模块 12.10 练习 第13章 面向对象编程 13.1 引言 13.2 面向对象编程 13.2.1 面向对象设计与面向对象编程的关系 13.2.2 现实中的问题 13.2.3 *常用术语 13.3 类 13.3.1 创建类 13.3.2 声明与定义 13.4 类属性 13.4.1 类的数据属性 13.4.2 Methods 13.4.3 决定类的属性 13.4.4 特殊的类属性 13.5 实例 13.5.1 初始化:通过调用类对象来创建实例 13.5.2 __init__()“构造器”方法 13.5.3 __new__()“构造器”方法 13.5.4 __del__()“解构器”方法 13.6 实例属性 13.6.1 “实例化”实例属性(或创建一个更好的构造器) 13.6.2 查看实例属性 13.6.3 特殊的实例属性 13.6.4 建类型属性 13.6.5 实例属性vs类属性 13.7 绑定和方法调用 13.7.1 调用绑定方法 13.7.2 调用非绑定方法 13.8 静态方法和类方法 13.8.1 staticmethod()和classmethod()内建函数 13.8.2 使用函数修饰符 13.9 组合 13.10 子类和派生 13.11 继承 13.11.1 __bases__类属性 13.11.2 通过继承覆盖方法 13.11.3 从标准类型派生 13.11.4 多重继承 13.12 类、实例和其他对象的内建函数 13.12.1 issubclass() 13.12.2 isinstance() 13.12.3 hasattr()、getattr()、setattr()、delattr() 13.12.4 dir() 13.12.5 super() 13.12.6 vars() 13.13 用特殊方法定制类 13.13.1 简单定制(RoundFloat2) 13.13.2 数值定制(Time60) 13.13.3 迭代器(RandSeq和AnyIter) 13.13.4 *多类型定制(NumStr) 13.14 私有化 13.15 *授权 13.15.1 包装 13.15.2 实现授权 13.16 新式类的高级特性(Python 2.2+) 13.16.1 新式类的通用特性 13.16.2 __slots__类属性 13.16.3 __getattribute__()特殊方法 13.16.4 描述符 13.16.5 元类和__metaclass__ 13.17 相关模块和文档 13.18 练习 第14章 执行环境 14.1 可调用对象 14.1.1 函数 14.1.2 方法 14.1.3 类 14.1.4 类的实例 14.2 代码对象 14.3 可执行的对象声明和内建函数 14.3.1 callable() 14.3.2 compile() 14.3.3 eval() 14.3.4 exec 14.3.5 input() 14.3.6 使用Python在运行时生成和执行Python代码 14.4 执行其他(Python)程序 14.4.1 导入 14.4.2 execfile() 14.4.3 将模块作为脚本执行 14.5 执行其他(非Python)程序 14.5.1 os.system() 14.5.2 os.popen() 14.5.3 os.fork()、os.exec*()、os.wait*() 14.5.4 os.spawn*() 14.5.5 subprocess 模块 14.5.6 相关函数 14.6 受限执行 14.7 结束执行 14.7.1 sys.exit() and SystemExit 14.7.2 sys.exitfunc() 14.7.3 os._exit() 函数 14.7.4 os.kill() Function 14.8 各种操作系统接口 14.9 相关模块 14.10 练习 第2部分 高级主题 第15章 正则表达式 15.1 引言/动机 15.2 正则表达式使用的特殊符号和字符 15.2.1 用管道符号(|)匹配多个正则表达式模式 15.2.2 匹配任意一个单个的字符(.) 15.2.3 从字符串的开头或结尾或单词边界开始匹配(^/$ /\b /\B ) 15.2.4 创建字符类([]) 15.2.5 指定范围(-)和否定(^) 15.2.6 使用闭包操作符(*,+,?,{})实现多次出现/重复匹配 15.2.7 特殊字符表示、字符集 15.2.8 用圆括号(())组建组 15.3 正则表达式和Python语言 15.3.1 re模块:核心函数和方法 15.3.2 使用compile()编译正则表达式 15.3.3 匹配对象和group()、groups()方法 15.3.4 用match()匹配字符串 15.3.5 search()在一个字符串中查找一个模式(搜索与匹配的比较) 15.3.6 匹配多个字符串(|) 15.3.7 匹配任意单个字符(.) 15.3.8 创建字符集合([]) 15.3.9 重复、特殊字符和子组 15.3.10 从字符串的开头或结尾匹配及在单词边界上的匹配 15.3.11 用findall()找到每个出现的匹配部分 15.3.12 用sub()(和subn())进行搜索和替换 15.3.13 用split()分割(分隔模式) 15.4 正则表达式示例 15.4.1 匹配一个字符串 15.4.2 搜索与匹配的比较,“贪婪”匹配 15.5 练习 第16章 网络编程 16.1 引言 16.1.1 什么是客户端/服务器架构 16.1.2 客户端/服务器网络编程 16.2 套接字:通信端点 16.2.1 什么是套接字 16.2.2 套接字地址:主机与端口 16.2.3 面向连接与无连接 16.3 Python中的网络编程 16.3.1 socket()模块函数 16.3.2 套接字对象(内建)方法 16.3.3 创建一个TCP服务器 16.3.4 创建TCP客户端 16.3.5 运行我们的客户端与TCP服务器 16.3.6 创建一个UDP服务器 16.3.7 创建一个UDP客户端 16.3.8 执行UDP服务器和客户端 16.3.9 Socket模块属性 16.4 *SocketServer模块 16.4.1 创建一个SocketServerTCP服务器 16.4.2 创建SocketServerTCP客户端 16.4.3 执行TCP服务器和客户端 16.5 Twisted框架介绍 16.5.1 创建一个Twisted Reactor TCP服务器 16.5.2 创建一个Twisted Reactor TCP客户端 16.5.3 执行TCP服务器和客户端 16.6 相关模块 16.7 练习 第17章 网络客户端编程 17.1 什么是因特网客户端 17.2 文件传输 17.2.1 文件传输网际协议 17.2.2 文件传输协议(FTP) 17.2.3 Python和FTP 17.2.4 ftplib.FTP类方法 17.2.5 交互式FTP示例 17.2.6 客户端FTP程序举例 17.2.7 FTP的其他方面 17.3 网络新闻 17.3.1 Usenet与新闻组 17.3.2 网络新闻传输协议(NNTP) 17.3.3 Python和NNTP 17.3.4 nntplib.NNTP类方法 17.3.5 交互式NNTP举例 17.3.6 客户端程序NNTP举例 17.3.7 NNTP的其他方面 17.4 电子邮件 17.4.1 电子邮件系统组件和协议 17.4.2 发送电子邮件 17.4.3 Python和SMTP 17.4.4 smtplib.SMTP类方法 17.4.5 交互式SMTP示例 17.4.6 SMTP的其他方面 17.4.7 接收电子邮件 17.4.8 POP和IMAP 17.4.9 Python和POP3 17.4.10 交互式POP3举例 17.4.11 poplib.POP3类方法 17.4.12 客户端程序SMTP和POP3举例 17.5 相关模块 17.5.1 电子邮件 17.5.2 其他网络协议 17.6 练习 第18章 多线程编程 18.1 引言/动机 18.2 线程和进程 18.2.1 什么是进程 18.2.2 什么是线程 18.3 Python、线程和全局解释器锁 18.3.1 全局解释器锁(GIL) 18.3.2 退出线程 18.3.3 在Python中使用线程 18.3.4 没有线程支持的情况 18.3.5 Python的threading模块 18.4 thread模块 18.5 threading模块 18.5.1 Thread类 18.5.2 斐波那契、阶乘和累加和 18.5.3 threading模块中的其他函数 18.5.4 生产者-消费者问题和Queue模块 18.6 相关模块 18.7 练习 第19章 图形用户界面编程 19.1 简介 19.1.1 什么是Tcl、Tk和Tkinter 19.1.2 安装和使用Tkinter 533 19.1.3 客户端/服务器架构 534 19.2 Tkinter与Python编程 534 19.2.1 Tkinter模块:把Tk引入你的程序 19.2.2 GUI程序开发简介 19.2.3 顶层窗口:Tkinter.Tk() 19.2.4 Tk组件 19.3 Tkinter举例 19.3.1 标签组件 19.3.2 按钮组件 19.3.3 标签和按钮组件 19.3.4 标签、按钮和进度条组件 19.3.5 偏函数应用举例 19.3.6 中级Tkinter范例 19.4 其他GUI简介 19.4.1 Tk Interface eXtensions (Tix) 19.4.2 Python MegaWidgets (PMW) 19.4.3 wxWidgets和wxPython 19.4.4 GTK+和PyGTK 19.5 相关模块和其他GUI 19.6 练习 第20章 Web编程 20.1 介绍 20.1.1 Web应用:客户端/服务器计算 20.1.2 因特网 20.2 使用Python进行Web应用:创建一个简单的Web客户端 20.2.1 统一资源定位符 20.2.2 urlparse模块 20.2.3 urllib模块 20.2.4 urllib2模块 20.3 高级Web客户端 20.4 CGI:帮助Web服务器处理客户端数据 20.4.1 CGI介绍 20.4.2 CGI应用程序 20.4.3 cgi模块 20.5 建立CGI应用程序 20.5.1 建立Web服务器 20.5.2 建立表单页 20.5.3 生成结果页 20.5.4 生成表单和结果页面 20.5.5 全面交互的Web站点 20.6 在CGI中使用Unicode编码 20.7 高级CGI 20.7.1 Mulitipart表单提交和文件的上传 20.7.2 多值字段 20.7.3 cookie 20.7.4 使用高级CGI 20.8 Web(HTTP)服务器 20.9 相关模块 20.10 练习 第21章 数据库编程 21.1 介绍 21.1.1 持久存储 21.1.2 基本的数据库操作和SQL语言 21.1.3 数据库和Python 21.2 Python数据库应用程序程序员接口(DB-API) 21.2.1 模块属性 21.2.2 连接对象 21.2.3 游标对象 21.2.4 类型对象和构造器 21.2.5 关系数据库 21.2.6 数据库和Python:接口程序 21.2.7 使用数据库接口程序举例 21.3 对象-关系管理器(ORM) 21.3.1 考虑对象,而不是SQL 21.3.2 Python和ORM 21.3.3 雇员数据库举例 21.3.4 总结 21.4 相关模块 21.5 练习 第22章 扩展Python 623 22.1 引言/动机 22.1.1 什么是扩展 22.1.2 为什么要扩展Python 22.2 创建Python扩展 22.2.1 创建您的应用程序代码 22.2.2 用样板来包装你的代码 22.2.3 编译 22.2.4 导入和测试 22.2.5 引用计数 22.2.6 线程和全局解释器锁(GIL) 22.3 相关话题 22.4 练习 第23章 其他话题 23.1 Web服务 23.2 用Win32的COM来操作微软Office 23.2.1 客户端COM编程 23.2.2 微软Excel 23.2.3 微软Word 第1部分 Python核心 23.2.4 微软PowerPoint 23.2.5 微软Outlook 23.2.6 中等规模的例子 23.3 用Jython写Python和Java的程序 23.3.1 什么是Jython 23.3.2 Swing GUI开发(Java或者Python!) 23.4 练习 23.2.4 微软PowerPoint 23.2.5 微软Outlook 23.2.6 中等规模的例子 23.3 用Jython写Python和Java的程序 23.3.1 什么是Jython 23.3.2 Swing GUI开发(Java或者Python!) 23.4 练习
805KB
Intelligent_Agent:这将使用aima创建一个智能代理-源码
2021-02-09----------------- aima-python 《人工智能:现代方法》一书的Python代码。 您可以将其与AI课程一起使用,也可以自己学习。 我们正在寻找来提供帮助。 Python 3.4 这段代码在Python 3.4中使用(Python 3.5也可以,但是Python 2.x无效)。 您可以或使用基于浏览器的Python解释器,例如 项目结构 完成后,该项目将为本书中的所有伪代码算法提供Python代码。 对于每个主要主题,例如logic ,我们在主分支中将包含以下三个文件: logic.py :所有伪代码算法的实现,以及必要的支持功能/类/数据。 logic.ipynb :一个Jupyter(IPython)笔记本,解释并提供了有关如何使用代码的示例。 tests/logic_test.py :一个轻量级的测试套件,使用assert语句,旨在与一起使用。 代
56.86MB
Python编程入门经典
2013-10-27第Ⅰ部分 初步了解Python 第1章 编程基础和字符串 3 1.1 编程与使用计算机的区别 3 1.1.1 编程的一致性 3 1.1.2 编程的可控性 4 1.1.3 程序要应对变化 4 1.1.4 小结 4 1.2 准备工作 4 1.2.1 在非Windows系统上安装 Python 3.1 5 1.2.2 使用Python Shell 5 1.3 开始使用Python——字符串 6 1.3.1 字符串概述 6 1.3.2 为什么需要引号 6 1.3.3 为什么有3种类型的引号 7 1.3.4 使用print()函数 7 1.3.5 理解不同的引号 8 1.4 串联两个字符串 10 1.5 用不同的方法串联字符串 11 1.6 本章小结 12 1.7 习题 13 第2章 数值与运算符 15 2.1 不同类型的数值 15 2.2 程序文件 17 2.2.1 使用不同的类型 18 2.2.2 基本算术 20 2.2.3 一些惊喜 22 2.3 使用数值 23 2.3.1 求值顺序 23 2.3.2 数值格式 24 2.3.3 可能会发生的错误 25 2.3.4 几个不寻常的例子 26 2.4 本章小结 26 2.5 习题 27 第3章 变量 29 3.1 引用数据——使用数据的 名称 29 3.1.1 使用名称修改数据 30 3.1.2 复制数据 31 3.1.3 禁用的名称以及一些规则 31 3.2 使用更多的内置类型 31 3.2.1 元组——不可更改的数据 序列 32 3.2.2 列表——可以更改的数据 序列 35 3.2.3 字典——以名称索引的分组 数据 36 3.2.4 像列表一样处理字符串 38 3.2.5 特殊类型 39 3.3 序列的其他共有属性 40 3.3.1 引用最后一个元素 40 3.3.2 序列的范围 41 3.3.3 通过附加序列增长列表 41 3.3.4 使用列表临时存储数据 42 3.3.5 处理集合 43 3.4 本章小结 44 3.5 习题 44 第Ⅱ部分 Python语言和标准库 第4章 做出决策 49 4.1 比较两个值是否相等 49 4.2 比较两个值是否不相等 51 4.3 比较两个值的大小 51 4.4 对真值和假值取反 53 4.5 观察多个比较运算的结果 54 4.6 循环 57 4.6.1 重复执行操作 57 4.6.2 终止循环 59 4.7 处理错误 62 4.8 本章小结 64 4.9 习题 65 第5章 函数 67 5.1 将程序放在单独的文件中 67 5.2 函数:在一个名称下聚集 代码 69 5.2.1 选择名称 70 5.2.2 在函数中描述函数 70 5.2.3 不同的位置相同的名称 72 5.2.4 添加注释 73 5.2.5 要求函数使用提供的值 73 5.2.6 检查参数 75 5.2.7 为参数设置默认值 77 5.2.8 在函数中调用其他函数 78 5.2.9 函数嵌套函数 80 5.2.10 用自己的词语标记错误 81 5.3 函数的层次 81 5.4 本章小结 82 5.5 习题 83 第6章 类与对象 85 6.1 考虑编程 85 6.1.1 对象的含义 85 6.1.2 已经了解的对象 85 6.1.3 展望:如何使用对象 87 6.2 定义类 87 6.2.1 如何创建对象 87 6.2.2 对象和它们的作用域 95 6.3 本章小结 98 6.4 习题 99 第7章 组织程序 101 7.1 模块 102 7.1.1 导入可用模块 102 7.1.2 通过已有模块创建新模块 102 7.1.3 从命令行开始使用模块 104 7.1.4 改变导入方式 106 7.2 包 106 7.3 模块和包 108 7.3.1 将所有内容引入当前 作用域 108 7.3.2 重新导入模块和包 109 7.4 测试模块和包的基础知识 111 7.5 本章小结 112 7.6 习题 112 第8章 文件和目录 115 8.1 文件对象 115 8.1.1 编写文本文件 116 8.1.2 向文件中追加文本 116 8.1.3 读文本文件 117 8.1.4 文件异常 119 8.2 路径和目录 119 8.3 os中的异常 119 8.3.1 路径 120 8.3.2 目录内容 122 8.3.3 获取文件信息 123 8.3.4 重命名、移动、复制和删除 文件 125 8.3.5 示例:轮换文件 126 8.3.6 创建和删除目录 127 8.3.7 通配 128 8.4 本章小结 129 8.5 习题 129 第9章 Python语言的其他特性 131 9.1 lambda和filter:简单匿名 函数 131 9.2 Map:短路循环 132 9.3 在列表中做出决策—— 列表解析 133 9.4 为循环生成迭代器 133 9.5 使用字典的特殊字符串 替换 135 9.6 重要模块 137 9.6.1 getopt——从命令行中得到 选项 137 9.6.2 使用一个以上的进程 139 9.6.3 线程——在相同的进程中 完成多个工作 141 9.7 本章小结 143 9.8 习题 144 第10章 创建模块 145 10.1 研究模块 145 10.1.1 导入模块 147 10.1.2 查找模块 147 10.1.3 理解模块 148 10.2 创建模块和包 149 10.3 使用类 150 10.3.1 定义面向对象编程 151 10.3.2 创建类 151 10.3.3 扩展已有的类 152 10.4 完成模块 153 10.4.1 定义模块特定的错误 154 10.4.2 选择导出哪些内容 154 10.4.3 为模块建立文档 155 10.4.4 测试模块 164 10.4.5 将模块作为程序运行 165 10.5 创建一个完整的模块 166 10.6 安装模块 171 10.7 本章小结 174 10.8 习题 175 第11章 文本处理 177 11.1 文本处理的用途 177 11.1.1 搜索文件 178 11.1.2 日志剪辑 179 11.1.3 邮件筛选 179 11.2 使用os模块导航文件 系统 179 11.3 使用正则表达式和re 模块 185 11.4 本章小结 189 11.5 习题 189 第Ⅲ部分 开始使用Python 第12章 测试 193 12.1 断言 193 12.2 测试用例和测试套件 195 12.3 测试装置 198 12.4 用极限编程整合 201 12.4.1 用Python实现搜索实用 程序 202 12.4.2 一个更加强大的Python 搜索 207 12.5 软件生命周期中的正规 测试 210 12.6 本章小结 210 第13章 使用Python编写GUI 213 13.1 Python的GUI编程工具箱 213 13.2 Tkinter简介 215 13.3 用Tkinter创建GUI 小组件 215 13.3.1 改变小组件的尺寸 215 13.3.2 配置小组件选项 216 13.3.3 使用小组件 217 13.3.4 创建布局 217 13.3.5 填充顺序 218 13.3.6 控制小组件的外观 219 13.3.7 单选按钮和复选框 220 13.3.8 对话框 221 13.3.9 其他小组件类型 222 13.4 本章小结 222 13.5 习题 223 第14章 访问数据库 225 14.1 使用dbm持久字典 226 14.1.1 选择dbm模块 226 14.1.2 创建持久字典 227 14.1.3 访问持久字典 228 14.1.4 dbm与关系数据库的适用 场合 230 14.2 使用关系数据库 231 14.2.1 编写SQL语句 232 14.2.2 定义表 234 14.2.3 建立数据库 235 14.3 使用Python的数据库API 237 14.3.1 下载各个模块 237 14.3.2 创建连接 238 14.3.3 使用游标 238 14.3.4 使用事务并提交结果 245 14.3.5 检查模块的功能和元 数据 246 14.3.6 处理错误 246 14.4 本章小结 247 14.5 习题 248 第15章 使用Python处理XML 249 15.1 XML的含义 249 15.1.1 层次标记语言 249 15.1.2 一组标准 251 15.2 模式/DTD 251 15.2.1 文档模型的用途 251 15.2.2 是否需要文档模型 252 15.3 文档类型定义 252 15.3.1 DTD示例 252 15.3.2 DTD不完全是XML 253 15.3.3 DTD的局限性 253 15.4 模式 254 15.4.1 示例模式 254 15.4.2 模式是纯粹的XML 254 15.4.3 模式具有层次 255 15.4.4 模式的其他优点 255 15.5 XPath 255 15.6 HTML是XML的子集 256 15.6.1 HTML DTD 256 15.6.2 HTMLParser 256 15.7 Python中可用的XML库 257 15.8 SAX的含义 257 15.8.1 基于流 258 15.8.2 事件驱动 258 15.8.3 DOM的含义 258 15.8.4 内存中访问 258 15.9 使用SAX或者DOM的 理由 259 15.9.1 能力权衡 259 15.9.2 内存考虑 259 15.9.3 速度考虑 259 15.10 Python中可用的SAX 和DOM解析器 259 15.10.1 xml.sax 259 15.10.2 xml.dom.minidom 260 15.11 XSLT简介 262 15.11.1 XSLT是XML 262 15.11.2 转换和格式语言 263 15.11.3 函数式、模板驱动 263 15.12 lxml简介 263 15.13 元素类 263 15.14 使用lxml解析 266 15.15 本章小结 267 15.16 习题 267 第16章 网络编程 269 16.1 理解协议 271 16.1.1 比较协议和程序语言 271 16.1.2 Internet协议栈 272 16.1.3 Internet协议简介 273 16.2 发送电子邮件 274 16.2.1 E-mail文件格式 275 16.2.2 MIME消息 276 16.2.3 使用SMTP和smtplib发送 邮件 284 16.3 检索Internet邮件 286 16.3.1 使用mailbox解析本地 邮筒 286 16.3.2 使用poplib从POP3 服务器获取邮件 288 16.3.3 使用imaplib从IMAP 服务器获取邮件 290 16.3.4 安全的POP3和IMAP 294 16.3.5 Webmail应用程序不是 E-mail应用程序 294 16.4 套接字编程 294 16.4.1 套接字简介 295 16.4.2 绑定到外部主机名 297 16.4.3 镜像服务器 298 16.4.4 镜像客户端 299 16.4.5 套接字服务器 300 16.4.6 多线程服务器 302 16.4.7 Python聊天服务器 303 16.4.8 设计Python聊天 服务器 303 16.4.9 Python聊天服务器协议 304 16.4.10 Python聊天客户端 309 16.4.11 基于select的单线程 多任务 312 16.5 其他主题 313 16.5.1 协议设计的多种考虑 313 16.5.2 对等架构 314 16.6 本章小结 314 16.7 习题 315 第17章 用C扩展编程 317 17.1 扩展模块概述 318 17.2 构建并安装扩展模块 320 17.3 从Python向C传递参数 322 17.4 从C向Python返回值 325 17.5 LAME项目 326 17.6 LAME扩展模块 330 17.7 在C代码中使用Python 对象 342 17.8 本章小结 345 17.9 习题 346 第18章 数值编程 347 18.1 Python语言中的数值 347 18.1.1 整数 348 18.1.2 长整数 348 18.1.3 浮点数 349 18.1.4 格式化数值 350 18.1.5 作为数值的字符 352 18.2 数学 353 18.2.1 算术运算 354 18.2.2 内置数学函数 355 18.3 复数 357 18.4 数组 359 18.5 本章小结 363 18.6 习题 363 第19章 Django简介 365 19.1 框架的定义以及使用框架的 理由 365 19.2 Web框架的其他功能 366 19.3 Django发展史 367 19.4 理解Django的架构 368 19.4.1 项目初始设置 368 19.4.2 创建视图 371 19.5 使用模板 373 19.6 使用模板和视图 375 19.6.1 模型 378 19.6.2 创建模型的第一步—— 配置数据库设置 379 19.7 创建模型:创建一个应用 程序 380 19.8 本章小结 382 19.9 习题 383 第20章 Web应用程序与Web 服务 385 20.1 REST:Web架构 386 20.1.1 REST的特性 386 20.1.2 REST操作 388 20.2 HTTP:REST的实际应用 388 20.2.1 可见的Web服务器 390 20.2.2 HTTP请求 393 20.2.3 HTTP响应 393 20.3 CGI:将脚本变为Web应用 程序 395 20.3.1 Web服务器与CGI脚本的 协议 397 20.3.2 CGI的特殊环境变量 397 20.3.3 通过HTML表单接收用户 输入 399 20.4 HTML表单的有限词汇 400 20.5 访问表单值的安全性 401 20.6 构建wiki 405 20.6.1 BittyWiki核心库 406 20.6.2 BittyWiki的Web接口 409 20.7 Web服务 418 20.8 REST Web 服务 419 20.8.1 REST快速入门: 在Amazon.com上寻找 廉价商品 419 20.8.2 WishListBargainFinder 简介 422 20.8.3 向BittyWiki提供 REST API 425 20.8.4 使用REST Web服务 实现搜索和替换功能 428 20.9 XML-RPC 432 20.9.1 XML-RPC请求 434 20.9.2 XML-RPC中的数据 表示 434 20.9.3 XML-RPC响应 435 20.9.4 错误处理机制 436 20.9.5 通过XML-RPC展示 BittyWiki API 437 20.9.6 基于XML-RPC Web服务 的wiki搜索和替换 440 20.10 SOAP 442 20.10.1 SOAP快速入门 442 20.10.2 SOAP请求 443 20.10.3 SOAP响应 444 20.10.4 错误处理机制 444 20.10.5 展示一个BittyWiki的 SOAP接口 445 20.10.6 基于SOAP Web服务的 wiki搜索和替换 447 20.11 为Web服务API创建 文档 449 20.11.1 人类可读的API 文档 449 20.11.2 XML-RPC自省API 450 20.11.3 WSDL 451 20.12 选择Web服务标准 455 20.13 Web服务礼仪 456 20.13.1 Web服务的使用者 礼仪 456 20.13.2 Web服务的创建者 礼仪 456 20.13.3 将Web应用程序作为 Web服务使用 456 20.14 本章小结 456 20.15 习题 457 第21章 集成Java与Python 459 21.1 在Java应用程序中编写 脚本 460 21.2 比较各种Python实现 461 21.3 安装Jython 461 21.4 运行Jython 461 21.4.1 交互地运行Jython 461 21.4.2 运行Jython脚本 463 21.4.3 控制jython脚本 463 21.4.4 创建可执行命令 464 21.5 独立运行Jython 465 21.6 打包基于Jython的应用 程序 466 21.7 集成Java和Jython 466 21.7.1 在Jython中使用 Java类 466 21.7.2 从Jython访问数据库 471 21.7.3 通过Jython编写 Java EE servlet 477 21.7.4 选择Jython开发工具 483 21.8 使用Jython进行测试 483 21.9 嵌入Jython解释器 484 21.10 处理C-Python和Jython 之间的差异 487 21.11 本章小结 488 21.12 习题 488 第Ⅳ部分 附 录 附录A 习题答案 491 附录B 在线资源 519 附录C Python 3.1的新特性 521 附录D 术语表 527
959KB
DIV+CSS布局大全
2007-04-18DIV+CSS布局大全 <br/><br/>
5.25MB
Python核心编程(中文第二版)
2009-10-02第1部分 Python核心 第1章 欢迎来到Python世界 1.1 什么是Python 1.2 起源 1.3 特点 1.3.1 高级 1.3.2 面向对象 1.3.3 可升级 1.3.4 可扩展 1.3.5 可移植性 1.3.6 易学 1.3.7 易读 1.3.8 易维护 1.3.9 健壮性 1.3.10 高效的快速原型开发工具 1.3.11 内存管理器 1.3.12 解释性和(字节)编译性 1.4 下载和安装Python 1.5 运行Python 1.5.1 命令行上的交互式解释器 1.5.2 从命令行启动脚本 1.5.3 集成开发环境 1.5.4 其他的集成开发环境和执行环境 1.6 Python文档 1.7 比较Python(Python与其他语言的比较) 1.8 其他实现 1.9 练习 第2章 快速入门 2.1 程序输出,print语句及“Hello World!” 2.2 程序输入和raw_input()内建函数 2.3 注释 2.4 操作符 2.5 变量和赋值 2.6 数字 2.7 字符串 2.8 列表和元组 2.9 字典 2.10 代码块及缩进对齐 2.11 if语句 2.12 while循环 2.13 for循环和range()内建函数 2.14 列表解析 2.15 文件和内建函数open()、file() 2.16 错误和异常 2.17 函数 2.17.1 如何定义函数 2.17.2 如何调用函数 2.17.3 默认参数 2.18 类 2.19 模块 2.19.1 如何导入模块 2.19.2 如何访问一个模块函数或访问一个模块变量 2.20 实用的函数 2.21 练习 第3章 Python基础 3.1 语句和语法 3.1.1 注释(#) 3.1.2 继续(\) 3.1.3 多个语句构成代码组(:) 3.1.4 代码组由不同的缩进分隔 3.1.5 同一行书写多个语句(;) 3.1.6 模块 3.2 变量赋值 3.2.1 赋值操作符 3.2.2 增量赋值 3.2.3 多重赋值 3.2.4 “多元”赋值 3.3 标识符 3.3.1 合法的Python标识符 3.3.2 关键字 3.3.3 内建 3.3.4 专用下划线标识符 3.4 基本风格指南 3.4.1 模块结构和布局 3.4.2 在主程序中书写测试代码 3.5 内存管理 3.5.1 变量定义 3.5.2 动态类型 3.5.3 内存分配 3.5.4 引用计数 3.5.5 垃圾收集 3.6 第一个Python程序 3.7 相关模块和开发工具 3.8 练习 第4章 Python对象 4.1 Python 对象 4.2 标准类型 4.3 其他内建类型 4.3.1 类型对象和type类型对象 4.3.2 None--Python的Null对象 4.4 内部类型 4.4.1 代码对象 4.4.2 帧对象 4.4.3 跟踪记录对象 4.4.4 切片对象 4.4.5 省略对象 4.4.6 XRange 对象 4.5 标准类型操作符 4.5.1 对象值的比较 4.5.2 对象身份比较 4.5.3 布尔类型 4.6 标准类型内建函数 4.6.1 type() 4.6.2 cmp() 4.6.3 str()和repr()(及``操作符) 4.6.4 type()和isinstance() 4.6.5 Python类型操作符和内建函数总结 4.7 类型工厂函数 4.8 标准类型的分类 4.8.1 存储模型 4.8.2 更新模型 4.8.3 访问模型 4.9 不支持的类型 4.10 练习 第5章 数字 5.1 数字简介 5.1.1 如何创建数值对象并用其赋值(数字对象) 5.1.2 如何更新数字对象 5.1.3 如何删除数字对象 5.2 整型 5.2.1 布尔型 5.2.2 标准整型 5.2.3 长整型 5.2.4 整型和长整型的统一 5.3 双精度浮点型 5.4 复数 5.5 操作符 5.5.1 混合模式操作符 5.5.2 标准类型操作符 5.5.3 算术操作符 5.5.4 *位操作符(只适用于整型) 5.6 内建函数与工厂函数 5.6.1 标准类型函数 5.6.2 数字类型函数 5.6.3 仅用于整型的函数 5.7 其他数字类型 5.7.1 布尔“数” 5.7.2 十进制浮点型 5.8 相关模块 5.9 练习 第6章 序列:字符串、列表和元组 6.1 序列 6.1.1 标准类型操作符 6.1.2 序列类型操作符 6.1.3 内建函数(BIF) 6.2 字符串 6.3 字符串和操作符 6.3.1 标准类型操作符 6.3.2 序列操作符切片([]和[:]) 6.4 只适用于字符串的操作符 6.4.1 格式化操作符(%) 6.4.2 字符串模板: 更简单的替代品 6.4.3 原始字符串操作符(r/R) 6.4.4 Unicode字符串操作符(u/U) 6.5 内建函数 6.5.1 标准类型函数 6.5.2 序列类型函数 6.5.3 字符串类型函数 6.6 字符串内建函数 6.7 字符串的独特特性 6.7.1 特殊字符串和控制字符 6.7.2 三引号 6.7.3 字符串不变性 6.8 Unicode 6.8.1 术语 6.8.2 什么是Unicode 6.8.3 怎样使用Unicode 6.8.4 Codec是什么 6.8.5 编码解码 6.8.6 把Unicode应用到实际应用中 6.8.7 从现实中得来的教训 6.8.8 Python的Unicode支持 6.9 相关模块 6.10 字符串关键点总结 6.11 列表 6.12 操作符 6.12.1 标准类型操作符 6.12.2 序列类型操作符 6.12.3 列表类型操作符和列表解析 6.13 内建函数 6.13.1 标准类型函数 6.13.2 序列类型函数 6.13.3 列表类型内建函数 6.14 列表类型的内建函数 6.15 列表的特殊特性 6.16 元组 6.17 元组操作符和内建函数 6.17.1 标准类型操作符、序列类型操作符和内建函数 6.17.2 元组类型操作符和内建函数、内建方法 6.18 元组的特殊特性 6.18.1 不可变性给元组带来了什么影响 6.18.2 元组也不是那么“不可变” 6.18.3 默认集合类型 6.18.4 单元素元组 6.18.5 字典的关键字 6.19 相关模块 6.20 *拷贝Python对象、浅拷贝和深拷贝 6.21 序列类型小结 6.22 练习 第7章 映像和集合类型 7.1 映射类型:字典 7.1.1 如何创建字典和给字典赋值 7.1.2 如何访问字典中的值 7.1.3 如何更新字典 7.1.4 如何删除字典元素和字典 7.2 映射类型操作符 7.2.1 标准类型操作符 7.2.2 映射类型操作符 7.3 映射类型的内建函数和工厂函数 7.3.1 标准类型函数[type()、str()和cmp()] 7.3.2 映射类型相关的函数 7.4 映射类型内建方法 7.5 字典的键 7.5.1 不允许一个键对应多个值 7.5.2 键必须是可哈希的 7.6 集合类型 7.6.1 如何创建集合类型和给集合赋值 7.6.2 如何访问集合中的值 7.6.3 如何更新集合 7.6.4 如何删除集合中的成员和集合 7.7 集合类型操作符 7.7.1 标准类型操作符(所有的集合类型) 7.7.2 集合类型操作符(所有的集合类型) 7.7.3 集合类型操作符(仅适用于可变集合) 7.8 内建函数 7.8.1 标准类型函数 7.8.2 集合类型工厂函数 7.9 集合类型内建方法 7.9.1 方法(所有的集合方法) 7.9.2 方法(仅适用于可变集合) 7.9.3 操作符和内建方法比较 7.10 集合类型总结表 7.11 相关模块 7.12 练习 第8章 条件和循环 8.1 if语句 8.1.1 多重条件表达式 8.1.2 单一语句的代码块 8.2 else语句 8.3 elif(即else-if)语句 8.4 条件表达式(即“三元操作符”) 8.5 while语句 8.5.1 一般语法 8.5.2 计数循环 8.5.3 无限循环 8.6 for语句 8.6.1 一般语法 8.6.2 用于序列类型 8.6.3 用于迭代器类型 8.6.4 range()内建函数 8.6.5 xrange() 内建函数 8.6.6 与序列相关的内建函数 8.7 break语句 8.8 continue语句 8.9 pass语句 8.10 再谈else语句 8.11 迭代器和iter()函数 8.11.1 什么是迭代器 8.11.2 为什么要迭代器 8.11.3 如何迭代 8.11.4 使用迭代器 8.11.5 可变对象和迭代器 8.11.6 如何创建迭代器 8.12 列表解析 8.13 生成器表达式 8.14 相关模块 8.15 练习 第9章 文件和输入输出 9.1 文件对象 9.2 文件内建函数(open()和file()) 9.2.1 工厂函数file() 9.2.2 通用换行符支持(UNS) 9.3 文件内建方法 9.3.1 输入 9.3.2 输出 9.3.3 文件内移动 9.3.4 文件迭代 9.3.5 其他 9.3.6 文件方法杂项 9.4 文件内建属性 9.5 标准文件 9.6 命令行参数 9.7 文件系统 9.8 文件执行 9.9 永久存储模块 9.9.1 pickle和marshal模块 9.9.2 DBM风格的模块 9.9.3 shelve模块 9.10 相关模块 9.11 练习 第10章 错误和异常 10.1 什么是异常 10.1.1 错误 10.1.2 异常 10.2 Python 中的异常 10.3 检测和处理异常 10.3.1 try-except语句 10.3.2 包装内建函数 10.3.3 带有多个except的try语句 10.3.4 处理多个异常的except语句 10.3.5 捕获所有异常 10.3.6 “异常参数” 10.3.7 在应用使用我们封装的函数 10.3.8 else子句 10.3.9 finally子句 10.3.10 try-finally语句 10.3.11 try-except-else-finally:厨房一锅端 10.4 上下文管理 10.4.1 with语句 10.4.2 *上下文管理协议 10.5 *字符串作为异常 10.6 触发异常 10.7 断言 10.8 标准异常 10.9 *创建异常 10.10 (现在)为什么用异常 10.11 到底为什么要异常 10.12 异常和sys模块 10.13 相关模块 10.14 练习 第11章 函数和函数式编程 11.1 什么是函数? 11.1.1 函数vs过程 11.1.2 返回值与函数类型 11.2 调用函数 11.2.1 函数操作符 11.2.2 关键字参数 11.2.3 默认参数 11.2.4 参数组 11.3 创建函数 11.3.1 def语句 11.3.2 声明与定义比较 11.3.3 前向引用 11.3.4 函数属性 11.3.5 内部/内嵌函数 11.3.6 *函数(与方法)装饰器 11.4 传递函数 11.5 Formal Arguments 11.5.1 位置参数 11.5.2 默认参数 11.6 可变长度的参数 11.6.1 非关键字可变长参数(元组) 11.6.2 关键字变量参数(字典) 11.6.3 调用带有可变长参数对象函数 11.7 函数式编程 11.7.1 匿名函数与lambda 11.7.2 内建函数apply()、filter()、map()、reduce() 11.7.3 偏函数应用 11.8 变量作用域 11.8.1 全局变量与局部变量 11.8.2 globa语句 11.8.3 作用域的数字 11.8.4 闭包 11.8.5 作用域和lambda 11.8.6 变量作用域和名称空间 11.9 *递归 11.10 生成器 11.10.1 简单的生成器特性 11.10.2 加强的生成器特性 11.11 练习 第12章 模块 12.1 什么是模块 12.2 模块和文件 12.2.1 模块名称空间 12.2.2 搜索路径和路径搜索 12.3 名称空间 12.3.1 名称空间与变量作用域比较 12.3.2 名称查找、确定作用域、覆盖 12.3.3 无限制的名称空间 12.4 导入模块 12.4.1 import语句 12.4.2 from-import语句 12.4.3 多行导入 12.4.4 扩展的import语句(as) 12.5 模块导入的特性 12.5.1 载入时执行模块 12.5.2 导入(import)和加载(load) 12.5.3 导入到当前名称空间的名称 12.5.4 被导入到导入者作用域的名字 12.5.5 关于__future__ 12.5.6 警告框架 12.5.7 从ZIP文件中导入模块 12.5.8 “新的”导入钩子 12.6 模块内建函数 12.6.1 __import__() 12.6.2 globals()和locals() 12.6.3 reload() 12.7 包 12.7.1 目录结构 12.7.2 使用from-import导入包 12.8 模块的其他特性 12.8.1 自动载入的模块 12.8.2 阻止属性导入 12.8.3 不区分大小的导入 12.8.4 源代码编码 12.8.5 导入循环 12.8.6 模块执行 12.9 相关模块 12.10 练习 第13章 面向对象编程 13.1 引言 13.2 面向对象编程 13.2.1 面向对象设计与面向对象编程的关系 13.2.2 现实中的问题 13.2.3 *常用术语 13.3 类 13.3.1 创建类 13.3.2 声明与定义 13.4 类属性 13.4.1 类的数据属性 13.4.2 Methods 13.4.3 决定类的属性 13.4.4 特殊的类属性 13.5 实例 13.5.1 初始化:通过调用类对象来创建实例 13.5.2 __init__()“构造器”方法 13.5.3 __new__()“构造器”方法 13.5.4 __del__()“解构器”方法 13.6 实例属性 13.6.1 “实例化”实例属性(或创建一个更好的构造器) 13.6.2 查看实例属性 13.6.3 特殊的实例属性 13.6.4 建类型属性 13.6.5 实例属性vs类属性 13.7 绑定和方法调用 13.7.1 调用绑定方法 13.7.2 调用非绑定方法 13.8 静态方法和类方法 13.8.1 staticmethod()和classmethod()内建函数 13.8.2 使用函数修饰符 13.9 组合 13.10 子类和派生 13.11 继承 13.11.1 __bases__类属性 13.11.2 通过继承覆盖方法 13.11.3 从标准类型派生 13.11.4 多重继承 13.12 类、实例和其他对象的内建函数 13.12.1 issubclass() 13.12.2 isinstance() 13.12.3 hasattr()、getattr()、setattr()、delattr() 13.12.4 dir() 13.12.5 super() 13.12.6 vars() 13.13 用特殊方法定制类 13.13.1 简单定制(RoundFloat2) 13.13.2 数值定制(Time60) 13.13.3 迭代器(RandSeq和AnyIter) 13.13.4 *多类型定制(NumStr) 13.14 私有化 13.15 *授权 13.15.1 包装 13.15.2 实现授权 13.16 新式类的高级特性(Python 2.2+) 13.16.1 新式类的通用特性 13.16.2 __slots__类属性 13.16.3 __getattribute__()特殊方法 13.16.4 描述符 13.16.5 元类和__metaclass__ 13.17 相关模块和文档 13.18 练习 第14章 执行环境 14.1 可调用对象 14.1.1 函数 14.1.2 方法 14.1.3 类 14.1.4 类的实例 14.2 代码对象 14.3 可执行的对象声明和内建函数 14.3.1 callable() 14.3.2 compile() 14.3.3 eval() 14.3.4 exec 14.3.5 input() 14.3.6 使用Python在运行时生成和执行Python代码 14.4 执行其他(Python)程序 14.4.1 导入 14.4.2 execfile() 14.4.3 将模块作为脚本执行 14.5 执行其他(非Python)程序 14.5.1 os.system() 14.5.2 os.popen() 14.5.3 os.fork()、os.exec*()、os.wait*() 14.5.4 os.spawn*() 14.5.5 subprocess 模块 14.5.6 相关函数 14.6 受限执行 14.7 结束执行 14.7.1 sys.exit() and SystemExit 14.7.2 sys.exitfunc() 14.7.3 os._exit() 函数 14.7.4 os.kill() Function 14.8 各种操作系统接口 14.9 相关模块 14.10 练习 第2部分 高级主题 第15章 正则表达式 15.1 引言/动机 15.2 正则表达式使用的特殊符号和字符 15.2.1 用管道符号(|)匹配多个正则表达式模式 15.2.2 匹配任意一个单个的字符(.) 15.2.3 从字符串的开头或结尾或单词边界开始匹配(^/$ /\b /\B ) 15.2.4 创建字符类([]) 15.2.5 指定范围(-)和否定(^) 15.2.6 使用闭包操作符(*,+,?,{})实现多次出现/重复匹配 15.2.7 特殊字符表示、字符集 15.2.8 用圆括号(())组建组 15.3 正则表达式和Python语言 15.3.1 re模块:核心函数和方法 15.3.2 使用compile()编译正则表达式 15.3.3 匹配对象和group()、groups()方法 15.3.4 用match()匹配字符串 15.3.5 search()在一个字符串中查找一个模式(搜索与匹配的比较) 15.3.6 匹配多个字符串(|) 15.3.7 匹配任意单个字符(.) 15.3.8 创建字符集合([]) 15.3.9 重复、特殊字符和子组 15.3.10 从字符串的开头或结尾匹配及在单词边界上的匹配 15.3.11 用findall()找到每个出现的匹配部分 15.3.12 用sub()(和subn())进行搜索和替换 15.3.13 用split()分割(分隔模式) 15.4 正则表达式示例 15.4.1 匹配一个字符串 15.4.2 搜索与匹配的比较,“贪婪”匹配 15.5 练习 第16章 网络编程 16.1 引言 16.1.1 什么是客户端/服务器架构 16.1.2 客户端/服务器网络编程 16.2 套接字:通信端点 16.2.1 什么是套接字 16.2.2 套接字地址:主机与端口 16.2.3 面向连接与无连接 16.3 Python中的网络编程 16.3.1 socket()模块函数 16.3.2 套接字对象(内建)方法 16.3.3 创建一个TCP服务器 16.3.4 创建TCP客户端 16.3.5 运行我们的客户端与TCP服务器 16.3.6 创建一个UDP服务器 16.3.7 创建一个UDP客户端 16.3.8 执行UDP服务器和客户端 16.3.9 Socket模块属性 16.4 *SocketServer模块 16.4.1 创建一个SocketServerTCP服务器 16.4.2 创建SocketServerTCP客户端 16.4.3 执行TCP服务器和客户端 16.5 Twisted框架介绍 16.5.1 创建一个Twisted Reactor TCP服务器 16.5.2 创建一个Twisted Reactor TCP客户端 16.5.3 执行TCP服务器和客户端 16.6 相关模块 16.7 练习 第17章 网络客户端编程 17.1 什么是因特网客户端 17.2 文件传输 17.2.1 文件传输网际协议 17.2.2 文件传输协议(FTP) 17.2.3 Python和FTP 17.2.4 ftplib.FTP类方法 17.2.5 交互式FTP示例 17.2.6 客户端FTP程序举例 17.2.7 FTP的其他方面 17.3 网络新闻 17.3.1 Usenet与新闻组 17.3.2 网络新闻传输协议(NNTP) 17.3.3 Python和NNTP 17.3.4 nntplib.NNTP类方法 17.3.5 交互式NNTP举例 17.3.6 客户端程序NNTP举例 17.3.7 NNTP的其他方面 17.4 电子邮件 17.4.1 电子邮件系统组件和协议 17.4.2 发送电子邮件 17.4.3 Python和SMTP 17.4.4 smtplib.SMTP类方法 17.4.5 交互式SMTP示例 17.4.6 SMTP的其他方面 17.4.7 接收电子邮件 17.4.8 POP和IMAP 17.4.9 Python和POP3 17.4.10 交互式POP3举例 17.4.11 poplib.POP3类方法 17.4.12 客户端程序SMTP和POP3举例 17.5 相关模块 17.5.1 电子邮件 17.5.2 其他网络协议 17.6 练习 第18章 多线程编程 18.1 引言/动机 18.2 线程和进程 18.2.1 什么是进程 18.2.2 什么是线程 18.3 Python、线程和全局解释器锁 18.3.1 全局解释器锁(GIL) 18.3.2 退出线程 18.3.3 在Python中使用线程 18.3.4 没有线程支持的情况 18.3.5 Python的threading模块 18.4 thread模块 18.5 threading模块 18.5.1 Thread类 18.5.2 斐波那契、阶乘和累加和 18.5.3 threading模块中的其他函数 18.5.4 生产者-消费者问题和Queue模块 18.6 相关模块 18.7 练习 第19章 图形用户界面编程 19.1 简介 19.1.1 什么是Tcl、Tk和Tkinter 19.1.2 安装和使用Tkinter 533 19.1.3 客户端/服务器架构 534 19.2 Tkinter与Python编程 534 19.2.1 Tkinter模块:把Tk引入你的程序 19.2.2 GUI程序开发简介 19.2.3 顶层窗口:Tkinter.Tk() 19.2.4 Tk组件 19.3 Tkinter举例 19.3.1 标签组件 19.3.2 按钮组件 19.3.3 标签和按钮组件 19.3.4 标签、按钮和进度条组件 19.3.5 偏函数应用举例 19.3.6 中级Tkinter范例 19.4 其他GUI简介 19.4.1 Tk Interface eXtensions (Tix) 19.4.2 Python MegaWidgets (PMW) 19.4.3 wxWidgets和wxPython 19.4.4 GTK+和PyGTK 19.5 相关模块和其他GUI 19.6 练习 第20章 Web编程 20.1 介绍 20.1.1 Web应用:客户端/服务器计算 20.1.2 因特网 20.2 使用Python进行Web应用:创建一个简单的Web客户端 20.2.1 统一资源定位符 20.2.2 urlparse模块 20.2.3 urllib模块 20.2.4 urllib2模块 20.3 高级Web客户端 20.4 CGI:帮助Web服务器处理客户端数据 20.4.1 CGI介绍 20.4.2 CGI应用程序 20.4.3 cgi模块 20.5 建立CGI应用程序 20.5.1 建立Web服务器 20.5.2 建立表单页 20.5.3 生成结果页 20.5.4 生成表单和结果页面 20.5.5 全面交互的Web站点 20.6 在CGI中使用Unicode编码 20.7 高级CGI 20.7.1 Mulitipart表单提交和文件的上传 20.7.2 多值字段 20.7.3 cookie 20.7.4 使用高级CGI 20.8 Web(HTTP)服务器 20.9 相关模块 20.10 练习 第21章 数据库编程 21.1 介绍 21.1.1 持久存储 21.1.2 基本的数据库操作和SQL语言 21.1.3 数据库和Python 21.2 Python数据库应用程序程序员接口(DB-API) 21.2.1 模块属性 21.2.2 连接对象 21.2.3 游标对象 21.2.4 类型对象和构造器 21.2.5 关系数据库 21.2.6 数据库和Python:接口程序 21.2.7 使用数据库接口程序举例 21.3 对象-关系管理器(ORM) 21.3.1 考虑对象,而不是SQL 21.3.2 Python和ORM 21.3.3 雇员数据库举例 21.3.4 总结 21.4 相关模块 21.5 练习 第22章 扩展Python 623 22.1 引言/动机 22.1.1 什么是扩展 22.1.2 为什么要扩展Python 22.2 创建Python扩展 22.2.1 创建您的应用程序代码 22.2.2 用样板来包装你的代码 22.2.3 编译 22.2.4 导入和测试 22.2.5 引用计数 22.2.6 线程和全局解释器锁(GIL) 22.3 相关话题 22.4 练习 第23章 其他话题 23.1 Web服务 23.2 用Win32的COM来操作微软Office 23.2.1 客户端COM编程 23.2.2 微软Excel 23.2.3 微软Word 第1部分 Python核心 23.2.4 微软PowerPoint 23.2.5 微软Outlook 23.2.6 中等规模的例子 23.3 用Jython写Python和Java的程序 23.3.1 什么是Jython 23.3.2 Swing GUI开发(Java或者Python!) 23.4 练习 23.2.4 微软PowerPoint 23.2.5 微软Outlook 23.2.6 中等规模的例子 23.3 用Jython写Python和Java的程序 23.3.1 什么是Jython 23.3.2 Swing GUI开发(Java或者Python!) 23.4 练习
33.7MB
Python基础教程 第二版
2018-04-04第1章 基础知识 1.1 安装Python 1.1.1 Windows 1.1.2 Linux和UNIX 1.1.3 苹果机(Macintosh) 1.1.4 其他发布版 1.1.5 时常关注,保持更新 1.2 交互式解释器 1.3 算法是什么 1.4 数字和表达式 1.4.1 长整型数 1.4.2 十六进制和八进制 1.5 变量 1.6 语句 1.7 获取用户输入 1.8 函数 1.9 模块 1.9.1 cmath和复数 1.9.2 回到future 1.10 保存并执行程序 1.10.1 通过命令提示符运行Python脚本 1.10.2 让脚本像普通程序一样运行 1.10.3 注释 1.11 字符串 1.11.1 单引号字符串和转义引号 1.11.2 拼接字符串 1.11.3 字符串表示和repr 1.11.4 input和rawinpm的比较 1.11.5 长字符串、原始字符串和Unicode 1.12 小结 1.12.1 本章的新函数 1.12.2 接下来学什么 第2章 列表和元组 2.1 序列概览 2.2 通用序列操作 2.2.1 索引 2.2.2 分片 2.2.3 序列相加 2.2.4.乘法 2.2.5 成员资格 2.2.6 长度、最小值和最大值 2.3 列表:Python的“苦力” 2.3.1 list函数 2.3.2 基本的列表操作 2.3.3 列表方法 2.4 元组:不可变序列 2.4.1 tuple函数 2.4.2 基本元组操作 2.4.3 那么,意义何在 2.5 小结 2.5.1 本章的新函数 2.5.2 接下来学什么 第3章 使用字符串 3.1 基本字符串操作 3.2 字符串格式化:精简版 3.3 字符串格式化:完整版 3.3.1 简单转换 3.3.2 字段宽度和精度 3.3.3 符号、对齐和0填充 3.4 字符串方法 3.4.1 f1nd 3.4.2 join 3.4.3 jower 3.4.4 replace 3.4.5 spl1t 3.4.6 strlD 3.4.7 tralqslate 3.5 小结 3.5.1 本章的新函数 3.5.2 接下来学什么 第4章 字典:当索引不好用时 4.1 字典的使用 4.2 创建和使用字典 4.2.1 dict函数 4.2.2 基本字典操作 4.2.3 字典的格式化字符串 4.2.4 字典方法 4.3 小结 4.3.1 本章的新函数 4.3.2 接下来学什么 第5章 条件、循环和其他语句 5.1 print和import的更多信息 5.1.1 使用逗号输出 5.1.2 把某件事作为另一件事导入 5.2 赋值魔法 5.2.1 序列解包 5.2.2 链式赋值 5.2.3 增量赋值 5.3 语句块:缩排的乐趣 5.4 条件和条件语句 5.4.1 这就是布尔变量的作用 5.4.2 条件执行和if语句 5.4.3 else子句 5.4.4 elif子句 5.4.5 嵌套代码块 5.4.6 更复杂的条件 5.4.7 断言 5.5 循环 5.5.1 while循环 5.5.2 for循环 5.5.3 循环遍历字典元素 5.5.4 一些迭代工具 5.5.5 跳出循环 5.5.6 循环中的else子句 5.6 列表推导式——轻量级循环 5.7 三人行 5.7.1 什么都没发生 5.7.2 使用del删除 5.7.3 使用exec和eval执行和求值字符串 5.8 小结 5.8.1 本章的新函数 5.8.2 接下来学什么 第6章 抽象 6.1 懒惰即美德 6.2 抽象和结构 6.3 创建函数 6.3.1 记录函数 6.3.2 并非真正函数的函数 6.4 参数魔法 6.4.1 值从哪里来 6.4.2 我能改变参数吗 6.4.3 关键字参数和默认值 6.4.4 收集参数 6.4.5 反转过程 6.4.6 练习使用参数 6.5 作用域 6.6 递归 6.6.1 两个经典:阶乘和幂 6.6.2 另外一个经典:二元查找 6.7 小结 6.7.1 本章的新函数 6.7.2 接下来学什么 第7章 更加抽象 7.1 对象的魔力 7.1.1 多态 7.1.2 封装 7.1.3 继承 7.2 类和类型 7.2.1 类到底是什么 7.2.2 创建自己的类 7.2.3 特性、函数和方法 7.2.4 类的命名空间 7.2.5 指定超类 7.2.6 调查继承 7.2.7 多个超类 7.2.8 接口和内省 7.3 一些关于面向对象设计的思考 7.4 简明总结 7.4.1 本章的新函数 7.4.2 接下来学什么 第8章 异常 8.1 什么是异常 8.2 按自己的方式出错 8.2.1 raise语句 8.2.2 自定义异常类 8.3 捕捉异常 8.4 不止一个except子句 8.5 用一个块捕捉两个异常 8.6 捕捉对象 8.7 真正的全捕捉 8.8 万事大吉 8.9 最后 8.10 异常和函数 8.11 异常之禅 8.12小结 8.12.1 本章的新函数 8.12.2 接下来学什么 第9章 魔法方法、属性和迭代器 9.1 准备工作 9.2 构造方法 9.2.1 重写一般方法和特殊的构造方法 9.2.2 调用未绑定的超类构造方法 9.2.3 使用super、函数 9.3 成员访问 9.3.1 基本的序列和映射规则 9.3.2 子类化列表,字典和字符串 9.4 更多魔力 9.5 属性 9.5.1 property函数 9.5.2 静态方法和类成员方法 9.5.3 getattr、setattr和它的朋友们 9.6 迭代器 9.6.1 迭代器规则 9.6.2 从迭代器得到序列 9.7 生成器 9.7.1 创建生成器 9.7.2 递归生成器 9.7.3 通用生成器 9.7.4 生成器方法 9.7.5 模拟生成器 9.8 八皇后问题 9.8.1 生成器和回溯 9.8.2 问题 9.8.3 状态表示 9.8.4 寻找冲突 9.8.5 基本情况 9.8.6 需要递归的情况 9.8.7 打包 9.9 小结 9.9.1 本章的新函数 9.9.2 接下来学什么 第10章 充电时刻 10.1 模块 10.1.1 模块是程序 10.1.2 模块用于定义 10.1.3 让你的模块可用 10.1.4 包 10.2 探究模块 10.2.1 模块中有什么 10.2.2 用help获取帮助 10.2.3 文档 10.2.4 使用源代码 10.3 标准库:一些最爱 10.3.1 sys 10.3.2 OS 10.3.3 fileinput 10.3.4 集合、堆和双端队列 10.3.5 time 10.3.6 random 10.3.7 shelve 10.3.8 re 10.3.9 其他有趣的标准模块 10.4 小结 10.4.1 本章的新函数 10.4.2 接下来学什么 第11章 文件和素材 11.1 打开文件 11.1.1 文件模式 11.1.2 缓冲 11.2 基本文件方法 11.2.1 读和写 11.2.2 管式输出 11.2.3 读写行 11.2.4 关闭文件 11.2.5 使用基本文件方法 11.3 对文件内容进行迭代 11.3.1 按字节处理 11.3.2 按行操作 11.3.3 读取所有内容 11.3.4 使用fileinput实现懒惰行迭代 11.3.5 文件迭代器 11.4 小结 11.4.1 本章的新函数 11.4.2 接下来学什么 第12章 图形用户界面 12.1 丰富的平台 12.2 下载和安装wxpytbon 12.3 创建示例GUI应用程序 12.3.1 开始 12.3.2 窗口和组件 12.3.3 标签、标题和位置 12.3.4 更智能的布局 12.3.5 事件处理 12.3.6 完成了的程序 12.4 但是我宁愿用 12.4..1 使用Tkinter 12.4.2 使用Jython和Swing 12.4..3 使用其他开发包 12.5 小结 第13章 数据库支持 13.1 Python数据库API 13.1.1 全局变量 13.1.2 异常 13.1.3 连接和游标 13.1.4 类型 13.2 SQLite和PySQLite 13.2.1 入门 13.2.2 数据库应用程序示例 13.3 小结 13.3.1 本章的新函数 13.3.2 接下来学什么 第14章 网络编程 14.1 少数几个网络设计模块 14.1.1 socket模块 14.1.2 urllib和urllib2模块 14.1.3 其他模块 14.2 SocketServer和它的朋友们 14.3 多连接 14.3.1 使用SocketServer进行分叉和线程处理 14.3.2 带有select和port的异步I/O 14.4 Twisted 14.4.1 下裁并安装Twisted 14.4.2 编写Twisted服务器 14.5 小结 14.5.1 本章的新函数 14.5.2 接下来学什么 第15章 Python和万维网 15.1 屏幕抓取 15.1.1 Tidy和XHTML解析
4.47MB
Python 核心编程 第二版
2012-09-07内容简介 本书是经典的Python指导书,在第一版的基础上进行了全面升级。全书分为两个部分:第1部分占据了大约三分之二的篇幅,阐释这门语言的“核心”内容,包括基本的概念和语句、语法和风格、 Python对象、数字类型、序列类型、映射和集合类型、条件和循环、文件和输入/输出、错误和异常、函数和函数式编程、模块、面向对象编程、执行环境等内容:第2部分则提供了各种高级主题来展示可以使用Python做些什么,包括正则表达式、网络编程、网络客户端编程、多线程编程、图形用户界面编程、 Web编程、数据库编程、扩展Python 和一些其他材料。 本书适合Python初学者,以及已经入门但想继续学习和提高自身Python技巧的程序员。 目录 第1部分 Python核心 第1章 欢迎来到Python世界 1.1 什么是Python 1.2 起源 1.3 特点 1.4 下载和安装Python 1.5 运行Python 1.6 Python文档 1.7 比较Python(Python与其他语言的比较) 1.8 其他实现 1.9 练习 第2章 快速入门 2.1 程序输出,print语句及“Hello World!” 2.2 程序输入和raw_input()内建函数 2.3 注释 2.4 操作符 2.5 变量和赋值 2.6 数字 2.7 字符串 2.8 列表和元组 2.9 字典 2.10 代码块及缩进对齐 2.11 if语句 2.12 while循环 2.13 for循环和range()内建函数 2.14 列表解析 2.15 文件和内建函数open()、file() 2.16 错误和异常 2.17 函数 2.18 类 2.19 模块 2.20 实用的函数 2.21 练习 第3章 Python基础 3.1 语句和语法 3.2 变量赋值 3.3 标识符 3.4 基本风格指南 3.5 内存管理 3.6 第一个Python程序 3.7 相关模块和开发工具 3.8 练习 第4章 Python对象 4.1 Python 对象 4.2 标准类型 4.3 其他内建类型 4.4 内部类型 4.5 标准类型操作符 4.6 标准类型内建函数 4.7 类型工厂函数 4.8 标准类型的分类 4.9 不支持的类型 4.10 练习 第5章 数字 5.1 数字简介 5.2 整型 5.3 双精度浮点型 5.4 复数 5.5 操作符 5.6 内建函数与工厂函数 5.7 其他数字类型 5.8 相关模块 5.9 练习 第6章 序列:字符串、列表和元组 6.1 序列 6.2 字符串 6.3 字符串和操作符 6.4 只适用于字符串的操作符 6.5 内建函数 6.6 字符串内建函数 6.7 字符串的独特特性 6.8 Unicode 6.9 相关模块 6.10 字符串关键点总结 6.11 列表 6.12 操作符 6.13 内建函数 6.14 列表类型的内建函数 6.15 列表的特殊特性 6.16 元组 6.17 元组操作符和内建函数 6.18 元组的特殊特性 6.19 相关模块 6.20 *拷贝Python对象、浅拷贝和深拷贝 6.21 序列类型小结 6.22 练习 第7章 映像和集合类型 7.1 映射类型:字典 7.2 映射类型操作符 7.3 映射类型的内建函数和工厂函数 7.4 映射类型内建方法 7.5 字典的键 7.6 集合类型 7.7 集合类型操作符 7.8 内建函数 7.9 集合类型内建方法 7.10 集合类型总结表 7.11 相关模块 7.12 练习 第8章 条件和循环 8.1 if语句 8.2 else语句 8.3 elif(即else-if)语句 8.4 条件表达式(即“三元操作符”) 8.5 while语句 8.6 for语句 8.7 break语句 8.8 continue语句 8.9 pass语句 8.10 再谈else语句 8.11 迭代器和iter()函数 8.12 列表解析 8.13 生成器表达式 8.14 相关模块 8.15 练习 第9章 文件和输入输出 9.1 文件对象 9.2 文件内建函数(open()和file()) 9.3 文件内建方法 9.4 文件内建属性 9.5 标准文件 9.6 命令行参数 9.7 文件系统 9.8 文件执行 9.9 永久存储模块 9.10 相关模块 9.11 练习 第10章 错误和异常 10.1 什么是异常 10.2 Python 中的异常 10.3 检测和处理异常 10.4 上下文管理 10.5 *字符串作为异常 10.6 触发异常 10.7 断言 10.8 标准异常 10.9 *创建异常 10.10 (现在)为什么用异常 10.11 到底为什么要异常 10.12 异常和sys模块 10.13 相关模块 10.14 练习 第11章 函数和函数式编程 11.1 什么是函数? 11.2 调用函数 11.3 创建函数 11.4 传递函数 11.5 Formal Arguments 11.6 可变长度的参数 11.7 函数式编程 11.8 变量作用域 11.9 *递归 11.10 生成器 11.11 练习 第12章 模块 12.1 什么是模块 12.2 模块和文件 12.3 名称空间 12.4 导入模块 12.5 模块导入的特性 12.6 模块内建函数 12.7 包 12.8 模块的其他特性 12.9 相关模块 12.10 练习 第13章 面向对象编程 13.1 引言 13.2 面向对象编程 13.3 类 13.4 类属性 13.5 实例 13.6 实例属性 13.7 绑定和方法调用 13.8 静态方法和类方法 13.9 组合 13.10 子类和派生 13.11 继承 13.12 类、实例和其他对象的内建函数 13.13 用特殊方法定制类 13.14 私有化 13.15 *授权 13.16 新式类的高级特性(Python 2.2+) 13.17 相关模块和文档 13.18 练习 第14章 执行环境 14.1 可调用对象 14.2 代码对象 14.3 可执行的对象声明和内建函数 14.4 执行其他(Python)程序 14.5 执行其他(非Python)程序 14.6 受限执行 14.7 结束执行 14.8 各种操作系统接口 14.9 相关模块 14.10 练习 第2部分 高级主题 第15章 正则表达式 15.1 引言/动机 15.2 正则表达式使用的特殊符号和字符 15.3 正则表达式和Python语言 15.4 正则表达式示例 15.5 练习 第16章 网络编程 16.1 引言 16.2 套接字:通信端点 16.3 Python中的网络编程 16.4 *SocketServer模块 16.5 Twisted框架介绍 16.6 相关模块 16.7 练习 第17章 网络客户端编程 17.1 什么是因特网客户端 17.2 文件传输 17.3 网络新闻 17.4 电子邮件 17.5 相关模块 17.6 练习 第18章 多线程编程 18.1 引言/动机 18.2 线程和进程 18.3 Python、线程和全局解释器锁 18.4 thread模块 18.5 threading模块 18.6 相关模块 18.7 练习 第19章 图形用户界面编程 19.1 简介 19.2 Tkinter与Python编程 534 19.3 Tkinter举例 19.4 其他GUI简介 19.5 相关模块和其他GUI 19.6 练习 第20章 Web编程 20.1 介绍 20.2 使用Python进行Web应用:创建一个简单的Web客户端 20.3 高级Web客户端 20.4 CGI:帮助Web服务器处理客户端数据 20.5 建立CGI应用程序 20.6 在CGI中使用Unicode编码 20.7 高级CGI 20.8 Web(HTTP)服务器 20.9 相关模块 20.10 练习 第21章 数据库编程 21.1 介绍 21.2 Python数据库应用程序程序员接口(DB-API) 21.3 对象-关系管理器(ORM) 21.4 相关模块 21.5 练习 第22章 扩展Python 623 22.1 引言/动机 22.2 创建Python扩展 22.3 相关话题 22.4 练习 第23章 其他话题 23.1 Web服务 23.2 用Win32的COM来操作微软Office 23.3 用Jython写Python和Java的程序 23.4 练习 23.3 用Jython写Python和Java的程序 23.4 练习
5.25MB
Python核心编程第二版(ok)
2009-05-21Python核心编程第二版(ok) 第1部分 Python核心 第1章 欢迎来到Python世界 1.1 什么是Python 1.2 起源 1.3 特点 1.3.1 高级 1.3.2 面向对象 1.3.3 可升级 1.3.4 可扩展 1.3.5 可移植性 1.3.6 易学 1.3.7 易读 1.3.8 易维护 1.3.9 健壮性 1.3.10 高效的快速原型开发工具 1.3.11 内存管理器 1.3.12 解释性和(字节)编译性 1.4 下载和安装Python 1.5 运行Python 1.5.1 命令行上的交互式解释器 1.5.2 从命令行启动脚本 1.5.3 集成开发环境 1.5.4 其他的集成开发环境和执行环境 1.6 Python文档 1.7 比较Python(Python与其他语言的比较) 1.8 其他实现 1.9 练习 第2章 快速入门 2.1 程序输出,1print语句及“HellocWorld!” 2.2 程序输入和raw_input()内建函数 2.3 注释 2.4 操作符 2.5 变量和赋值 2.6 数字 2.7 字符串 2.8 列表和元组 2.9 字典 2.10 代码块及缩进对齐 2.11 if语句 2.12 while循环 2.13 for循环和range()内建函数 2.14 列表解析 2.15 文件和内建函数open().cfile() 2.16 错误和异常 2.17 函数 2.17.1 如何定义函数 2.17.2 如何调用函数 2.17.3 默认参数 2.18 类 2.19 模块 2.19.1 如何导入模块 2.19.2 如何访问一个模块函数或访问一个模块变量 2.20 实用的函数 2.21 练习 第3章 Python基础 3.1 语句和语法 3.1.1 注释(#) 3.1.2 继续() 3.1.3 多个语句构成代码组() 3.1.4 代码组由不同的缩进分隔 3.1.5 同一行书写多个语句(;) 3.1.6 模块 3.2 变量赋值 3.2.1 赋值操作符 3.2.2 增量赋值 3.2.3 多重赋值 3.2.4 “多元”赋值 3.3 标识符 3.3.1 合法的Python标识符 3.3.2 关键字 3.3.3 内建 3.3.4 专用下划线标识符 3.4 基本风格指南 3.4.1 模块结构和布局 3.4.2 在主程序中书写测试代码 3.5 内存管理 3.5.1 变量定义 3.5.2 动态类型 3.5.3 内存分配 3.5.4 引用计数 3.5.5 垃圾收集 3.6 第一个Python程序 3.7 相关模块和开发工具 3.8 练习 第4章 Python对象 4.1 Pythonc对象 4.2 标准类型 4.3 其他内建类型 4.3.1 类型对象和type类型对象 4.3.2 None--Python的Null对象 4.4 内部类型 4.4.1 代码对象 4.4.2 帧对象 4.4.3 跟踪记录对象 4.4.4 切片对象 4.4.5 省略对象 4.4.6 XRangec对象 4.5 标准类型操作符 4.5.1 对象值的比较 4.5.2 对象身份比较 4.5.3 布尔类型 4.6 标准类型内建函数 4.6.1 type() 4.6.2 cmp() 4.6.3 str()和repr()(及``操作符) 4.6.4 type()和isinstance() 4.6.5 Python类型操作符和内建函数总结 4.7 类型工厂函数 4.8 标准类型的分类 4.8.1 存储模型 4.8.2 更新模型 4.8.3 访问模型 4.9 不支持的类型 4.10 练习 第5章 数字 5.1 数字简介 5.1.1 如何创建数值对象并用其赋值(数字对象) 5.1.2 如何更新数字对象 5.1.3 如何删除数字对象 5.2 整型 5.2.1 布尔型 5.2.2 标准整型 5.2.3 长整型 5.2.4 整型和长整型的统一 5.3 双精度浮点型 5.4 复数 5.5 操作符 5.5.1 混合模式操作符 5.5.2 标准类型操作符 5.5.3 算术操作符 5.5.4 位操作符(只适用于整型) 5.6 内建函数与工厂函数 5.6.1 标准类型函数 5.6.2 数字类型函数 5.6.3 仅用于整型的函数 5.7 其他数字类型 5.7.1 布尔“数” 5.7.2 十进制浮点型 5.8 相关模块 5.9 练习 第6章 序列:字符串.c列表和元组 6.1 序列 6.1.1 标准类型操作符 6.1.2 序列类型操作符 6.1.3 内建函数(BIF) 6.2 字符串 6.3 字符串和操作符 6.3.1 标准类型操作符 6.3.2 序列操作符切片([]和[]) 6.4 只适用于字符串的操作符 6.4.1 格式化操作符(%) 6.4.2 字符串模板c更简单的替代品 6.4.3 原始字符串操作符(rR) 6.4.4 Unicode字符串操作符(uU) 6.5 内建函数 6.5.1 标准类型函数 6.5.2 序列类型函数 6.5.3 字符串类型函数 6.6 字符串内建函数 6.7 字符串的独特特性 6.7.1 特殊字符串和控制字符 6.7.2 三引号 6.7.3 字符串不变性 6.8 Unicode 6.8.1 术语 6.8.2 什么是Unicode 6.8.3 怎样使用Unicode 6.8.4 Codec是什么 6.8.5 编码解码 6.8.6 把Unicode应用到实际应用中 6.8.7 从现实中得来的教训 6.8.8 Python的Unicode支持 6.9 相关模块 6.10 字符串关键点总结 6.11 列表 6.12 操作符 6.12.1 标准类型操作符 6.12.2 序列类型操作符 6.12.3 列表类型操作符和列表解析 6.13 内建函数 6.13.1 标准类型函数 6.13.2 序列类型函数 6.13.3 列表类型内建函数 6.14 列表类型的内建函数 6.15 列表的特殊特性 6.16 元组 6.17 元组操作符和内建函数 6.17.1 标准类型操作符.c序列类型操作符和内建函数 6.17.2 元组类型操作符和内建函数.c内建方法 6.18 元组的特殊特性 6.18.1 不可变性给元组带来了什么影响 6.18.2 元组也不是那么“不可变” 6.18.3 默认集合类型 6.18.4 单元素元组 6.18.5 字典的关键字 6.19 相关模块 6.20 拷贝Python对象.c浅拷贝和深拷贝 6.21 序列类型小结 6.22 练习 第7章 映像和集合类型 7.1 映射类型:字典 7.1.1 如何创建字典和给字典赋值 7.1.2 如何访问字典中的值 7.1.3 如何更新字典 7.1.4 如何删除字典元素和字典 7.2 映射类型操作符 7.2.1 标准类型操作符 7.2.2 映射类型操作符 7.3 映射类型的内建函数和工厂函数 7.3.1 标准类型函数[type().cstr()和cmp()] 7.3.2 映射类型相关的函数 7.4 映射类型内建方法 7.5 字典的键 7.5.1 不允许一个键对应多个值 7.5.2 键必须是可哈希的 7.6 集合类型 7.6.1 如何创建集合类型和给集合赋值 7.6.2 如何访问集合中的值 7.6.3 如何更新集合 7.6.4 如何删除集合中的成员和集合 7.7 集合类型操作符 7.7.1 标准类型操作符(所有的集合类型) 7.7.2 集合类型操作符(所有的集合类型) 7.7.3 集合类型操作符(仅适用于可变集合) 7.8 内建函数 7.8.1 标准类型函数 7.8.2 集合类型工厂函数 7.9 集合类型内建方法 7.9.1 方法(所有的集合方法) 7.9.2 方法(仅适用于可变集合) 7.9.3 操作符和内建方法比较 7.10 集合类型总结表 7.11 相关模块 7.12 练习 第8章 条件和循环 8.1 if语句 8.1.1 多重条件表达式 8.1.2 单一语句的代码块 8.2 else语句 8.3 elif(即else-if)语句 8.4 条件表达式(即“三元操作符”) 8.5 while语句 8.5.1 一般语法 8.5.2 计数循环 8.5.3 无限循环 8.6 for语句 8.6.1 一般语法 8.6.2 用于序列类型 8.6.3 用于迭代器类型 8.6.4 range()内建函数 8.6.5 xrange()c内建函数 8.6.6 与序列相关的内建函数 8.7 break语句 8.8 continue语句 8.9 pass语句 8.10 再谈else语句 8.11 迭代器和iter()函数 8.11.1 什么是迭代器 8.11.2 为什么要迭代器 8.11.3 如何迭代 8.11.4 使用迭代器 8.11.5 可变对象和迭代器 8.11.6 如何创建迭代器 8.12 列表解析 8.13 生成器表达式 8.14 相关模块 8.15 练习 第9章 文件和输入输出 9.1 文件对象 9.2 文件内建函数(open()和file()) 9.2.1 工厂函数file() 9.2.2 通用换行符支持(UNS) 9.3 文件内建方法 9.3.1 输入 9.3.2 输出 9.3.3 文件内移动 9.3.4 文件迭代 9.3.5 其他 9.3.6 文件方法杂项 9.4 文件内建属性 9.5 标准文件 9.6 命令行参数 9.7 文件系统 9.8 文件执行 9.9 永久存储模块 9.9.1 pickle和marshal模块 9.9.2 DBM风格的模块 9.9.3 shelve模块 9.10 相关模块 9.11 练习 第10章 错误和异常 10.1 什么是异常 10.1.1 错误 10.1.2 异常 10.2 Pythonc中的异常 10.3 检测和处理异常 10.3.1 try-except语句 10.3.2 包装内建函数 10.3.3 带有多个except的try语句 10.3.4 处理多个异常的except语句 10.3.5 捕获所有异常 10.3.6 “异常参数” 10.3.7 在应用使用我们封装的函数 10.3.8 else子句 10.3.9 finally子句 10.3.10 try-finally语句 10.3.11 try-except-else-finally:厨房一锅端 cccc10.4 上下文管理 10.4.1 with语句 10.4.2 上下文管理协议 10.5 字符串作为异常 10.6 触发异常 10.7 断言 10.8 标准异常 10.9 创建异常 10.10 (现在)为什么用异常 10.11 到底为什么要异常 10.12 异常和sys模块 10.13 相关模块 10.14 练习 第11章 函数和函数式编程 11.1 什么是函数? 11.1.1 函数vs过程 11.1.2 返回值与函数类型 11.2 调用函数 11.2.1 函数操作符 11.2.2 关键字参数 11.2.3 默认参数 11.2.4 参数组 11.3 创建函数 11.3.1 def语句 11.3.2 声明与定义比较 11.3.3 前向引用 11.3.4 函数属性 11.3.5 内部内嵌函数 11.3.6 函数(与方法)装饰器 11.4 传递函数 11.5 FormalcArguments 11.5.1 位置参数 11.5.2 默认参数 11.6 可变长度的参数 11.6.1 非关键字可变长参数(元组) 11.6.2 关键字变量参数(字典) 11.6.3 调用带有可变长参数对象函数 11.7 函数式编程 11.7.1 匿名函数与lambda 11.7.2 内建函数apply().cfilter().cmap().creduce() 11.7.3 偏函数应用 11.8 变量作用域 11.8.1 全局变量与局部变量 11.8.2 globa语句 11.8.3 作用域的数字 11.8.4 闭包 11.8.5 作用域和lambda 11.8.6 变量作用域和名称空间 11.9 递归 11.10 生成器 11.10.1 简单的生成器特性 11.10.2 加强的生成器特性 11.11 练习 第12章 模块 12.1 什么是模块 12.2 模块和文件 12.2.1 模块名称空间 12.2.2 搜索路径和路径搜索 12.3 名称空间 12.3.1 名称空间与变量作用域比较 12.3.2 名称查找.c确定作用域.c覆盖 12.3.3 无限制的名称空间 12.4 导入模块 12.4.1 import语句 12.4.2 from-import语句 12.4.3 多行导入 12.4.4 扩展的import语句(as) 12.5 模块导入的特性 12.5.1 载入时执行模块 12.5.2 导入(import)和加载(load) 12.5.3 导入到当前名称空间的名称 12.5.4 被导入到导入者作用域的名字 12.5.5 关于__future__ 12.5.6 警告框架 12.5.7 从ZIP文件中导入模块 12.5.8 “新的”导入钩子 12.6 模块内建函数 12.6.1 __import__() 12.6.2 globals()和locals() 12.6.3 reload() 12.7 包 12.7.1 目录结构 12.7.2 使用from-import导入包 12.8 模块的其他特性 12.8.1 自动载入的模块 12.8.2 阻止属性导入 12.8.3 不区分大小的导入 12.8.4 源代码编码 12.8.5 导入循环 12.8.6 模块执行 12.9 相关模块 12.10 练习 第13章 面向对象编程 13.1 引言 13.2 面向对象编程 13.2.1 面向对象设计与面向对象编程的关系 13.2.2 现实中的问题 13.2.3 常用术语 13.3 类 13.3.1 创建类 13.3.2 声明与定义 13.4 类属性 13.4.1 类的数据属性 13.4.2 Methods 13.4.3 决定类的属性 13.4.4 特殊的类属性 13.5 实例 13.5.1 初始化:通过调用类对象来创建实例 13.5.2 __init__()“构造器”方法 13.5.3 __new__()“构造器”方法 13.5.4 __del__()“解构器”方法 13.6 实例属性 13.6.1 “实例化”实例属性(或创建一个更好的构造器) 13.6.2 查看实例属性 13.6.3 特殊的实例属性 13.6.4 建类型属性 13.6.5 实例属性vs类属性 13.7 绑定和方法调用 13.7.1 调用绑定方法 13.7.2 调用非绑定方法 13.8 静态方法和类方法 13.8.1 staticmethod()和classmethod()内建函数 13.8.2 使用函数修饰符 13.9 组合 13.10 子类和派生 13.11 继承 13.11.1 __bases__类属性 13.11.2 通过继承覆盖方法 13.11.3 从标准类型派生 13.11.4 多重继承 13.12 类.c实例和其他对象的内建函数 13.12.1 issubclass() 13.12.2 isinstance() 13.12.3 hasattr().cgetattr().csetattr().cdelattr() 13.12.4 dir() 13.12.5 super() 13.12.6 vars() 13.13 用特殊方法定制类 13.13.1 简单定制(RoundFloat2) 13.13.2 数值定制(Time60) 13.13.3 迭代器(RandSeq和AnyIter) 13.13.4 多类型定制(NumStr) 13.14 私有化 13.15 授权 13.15.1 包装 13.15.2 实现授权 13.16 新式类的高级特性(Pythonc2.2+) 13.16.1 新式类的通用特性 13.16.2 __slots__类属性 13.16.3 __getattribute__()特殊方法 13.16.4 描述符 13.16.5 元类和__metaclass__ 13.17 相关模块和文档 13.18 练习 第14章 执行环境 14.1 可调用对象 14.1.1 函数 14.1.2 方法 14.1.3 类 14.1.4 类的实例 14.2 代码对象 14.3 可执行的对象声明和内建函数 14.3.1 callable() 14.3.2 compile() 14.3.3 eval() 14.3.4 exec 14.3.5 input() 14.3.6 使用Python在运行时生成和执行Python代码 14.4 执行其他(Python)程序 14.4.1 导入 14.4.2 execfile() 14.4.3 将模块作为脚本执行 14.5 执行其他(非Python)程序 14.5.1 os.system() 14.5.2 os.popen() 14.5.3 os.fork().cos.exec().cos.wait() 14.5.4 os.spawn() 14.5.5 subprocessc模块 14.5.6 相关函数 14.6 受限执行 14.7 结束执行 14.7.1 sys.exit()candcSystemExit 14.7.2 sys.exitfunc() 14.7.3 os._exit()c函数 14.7.4 os.kill()cFunction 14.8 各种操作系统接口 14.9 相关模块 14.10 练习 第2部分 高级主题 第15章 正则表达式 15.1 引言动机 15.2 正则表达式使用的特殊符号和字符 15.2.1 用管道符号()匹配多个正则表达式模式 15.2.2 匹配任意一个单个的字符(.) 15.2.3 从字符串的开头或结尾或单词边界开始匹配(^$cbcBc) 15.2.4 创建字符类([]) 15.2.5 指定范围(-)和否定(^) 15.2.6 使用闭包操作符(,1+,1,1{})实现多次出现重复匹配 15.2.7 特殊字符表示.c字符集 15.2.8 用圆括号(())组建组 15.3 正则表达式和Python语言 15.3.1 re模块:核心函数和方法 15.3.2 使用compile()编译正则表达式 15.3.3 匹配对象和group().cgroups()方法 15.3.4 用match()匹配字符串 15.3.5 search()在一个字符串中查找一个模式(搜索与匹配的比较) 15.3.6 匹配多个字符串() 15.3.7 匹配任意单个字符(.) 15.3.8 创建字符集合([]) 15.3.9 重复.c特殊字符和子组 15.3.10 从字符串的开头或结尾匹配及在单词边界上的匹配 15.3.11 用findall()找到每个出现的匹配部分 15.3.12 用sub()(和subn())进行搜索和替换 15.3.13 用split()分割(分隔模式) 15.4 正则表达式示例 15.4.1 匹配一个字符串 15.4.2 搜索与匹配的比较,1“贪婪”匹配 15.5 练习 第16章 网络编程 16.1 引言 16.1.1 什么是客户端服务器架构 16.1.2 客户端服务器网络编程 16.2 套接字:通信端点 16.2.1 什么是套接字 16.2.2 套接字地址:主机与端口 16.2.3 面向连接与无连接 16.3 Python中的网络编程 16.3.1 socket()模块函数 16.3.2 套接字对象(内建)方法 16.3.3 创建一个TCP服务器 16.3.4 创建TCP客户端 16.3.5 运行我们的客户端与TCP服务器 16.3.6 创建一个UDP服务器 16.3.7 创建一个UDP客户端 16.3.8 执行UDP服务器和客户端 16.3.9 Socket模块属性 16.4 SocketServer模块 16.4.1 创建一个SocketServerTCP服务器 16.4.2 创建SocketServerTCP客户端 16.4.3 执行TCP服务器和客户端 16.5 Twisted框架介绍 16.5.1 创建一个TwistedcReactorcTCP服务器 16.5.2 创建一个TwistedcReactorcTCP客户端 16.5.3 执行TCP服务器和客户端 16.6 相关模块 16.7 练习 第17章 网络客户端编程 17.1 什么是因特网客户端 17.2 文件传输 17.2.1 文件传输网际协议 17.2.2 文件传输协议(FTP) 17.2.3 Python和FTP 17.2.4 ftplib.FTP类方法 17.2.5 交互式FTP示例 17.2.6 客户端FTP程序举例 17.2.7 FTP的其他方面 17.3 网络新闻 17.3.1 Usenet与新闻组 17.3.2 网络新闻传输协议(NNTP) 17.3.3 Python和NNTP 17.3.4 nntplib.NNTP类方法 17.3.5 交互式NNTP举例 17.3.6 客户端程序NNTP举例 17.3.7 NNTP的其他方面 17.4 电子邮件 17.4.1 电子邮件系统组件和协议 17.4.2 发送电子邮件 17.4.3 Python和SMTP 17.4.4 smtplib.SMTP类方法 17.4.5 交互式SMTP示例 17.4.6 SMTP的其他方面 17.4.7 接收电子邮件 17.4.8 POP和IMAP 17.4.9 Python和POP3 17.4.10 交互式POP3举例 17.4.11 poplib.POP3类方法 17.4.12 客户端程序SMTP和POP3举例 17.5 相关模块 17.5.1 电子邮件 17.5.2 其他网络协议 17.6 练习 第18章 多线程编程 18.1 引言动机 18.2 线程和进程 18.2.1 什么是进程 18.2.2 什么是线程 18.3 Python.c线程和全局解释器锁 18.3.1 全局解释器锁(GIL) 18.3.2 退出线程 18.3.3 在Python中使用线程 18.3.4 没有线程支持的情况 18.3.5 Python的threading模块 18.4 thread模块 18.5 threading模块 18.5.1 Thread类 18.5.2 斐波那契.c阶乘和累加和 18.5.3 threading模块中的其他函数 18.5.4 生产者-消费者问题和Queue模块 18.6 相关模块 18.7 练习 第19章 图形用户界面编程 19.1 简介 19.1.1 什么是Tcl.cTk和Tkinter 19.1.2 安装和使用Tkinter 533 19.1.3 客户端服务器架构 534 19.2 Tkinter与Python编程 534 19.2.1 Tkinter模块:把Tk引入你的程序 19.2.2 GUI程序开发简介 19.2.3 顶层窗口:Tkinter.Tk() 19.2.4 Tk组件 19.3 Tkinter举例 19.3.1 标签组件 19.3.2 按钮组件 19.3.3 标签和按钮组件 19.3.4 标签.c按钮和进度条组件 19.3.5 偏函数应用举例 19.3.6 中级Tkinter范例 19.4 其他GUI简介 19.4.1 TkcInterfaceceXtensionsc(Tix) 19.4.2 PythoncMegaWidgetsc(PMW) 19.4.3 wxWidgets和wxPython 19.4.4 GTK+和PyGTK 19.5 相关模块和其他GUI 19.6 练习 第20章 Web编程 20.1 介绍 20.1.1 Web应用:客户端服务器计算 20.1.2 因特网 20.2 使用Python进行Web应用:创建一个简单的Web客户端 20.2.1 统一资源定位符 20.2.2 urlparse模块 20.2.3 urllib模块 20.2.4 urllib2模块 20.3 高级Web客户端 20.4 CGI:帮助Web服务器处理客户端数据 20.4.1 CGI介绍 20.4.2 CGI应用程序 20.4.3 cgi模块 cccc20.5 建立CGI应用程序 20.5.1 建立Web服务器 20.5.2 建立表单页 20.5.3 生成结果页 20.5.4 生成表单和结果页面 20.5.5 全面交互的Web站点 cccc20.6 在CGI中使用Unicode编码 20.7 高级CGI 20.7.1 Mulitipart表单提交和文件的上传 20.7.2 多值字段 20.7.3 cookie 20.7.4 使用高级CGI 20.8 Web(HTTP)服务器 20.9 相关模块 20.10 练习 第21章 数据库编程 21.1 介绍 21.1.1 持久存储 21.1.2 基本的数据库操作和SQL语言 21.1.3 数据库和Python 21.2 Python数据库应用程序程序员接口(DB-API) 21.2.1 模块属性 21.2.2 连接对象 21.2.3 游标对象 21.2.4 类型对象和构造器 21.2.5 关系数据库 21.2.6 数据库和Python:接口程序 21.2.7 使用数据库接口程序举例 21.3 对象-关系管理器(ORM) 21.3.1 考虑对象,1而不是SQL 21.3.2 Python和ORM 21.3.3 雇员数据库举例 21.3.4 总结 21.4 相关模块 21.5 练习 第22章 扩展Python 623 22.1 引言动机 22.1.1 什么是扩展 22.1.2 为什么要扩展Python 22.2 创建Python扩展 22.2.1 创建您的应用程序代码 22.2.2 用样板来包装你的代码 22.2.3 编译 22.2.4 导入和测试 22.2.5 引用计数 22.2.6 线程和全局解释器锁(GIL) cccc22.3 相关话题 22.4 练习 第23章 其他话题 23.1 Web服务 23.2 用Win32的COM来操作微软Office 23.2.1 客户端COM编程 23.2.2c微软Excel 23.2.3 微软Word 第1部分 Python核心 23.2.4 微软PowerPoint 23.2.5 微软Outlook 23.2.6 中等规模的例子 cccc23.3 用Jython写Python和Java的程序 23.3.1 什么是Jython 23.3.2 SwingcGUI开发(Java或者Python!) 23.4 练习 23.2.4 微软PowerPoint 23.2.5 微软Outlook 23.2.6 中等规模的例子 23.3 用Jython写Python和Java的程序 23.3.1 什么是Jython 23.3.2 SwingcGUI开发(Java或者Python!) 23.4 练习1a1c1ac111c111a1a1
4.60MB
Python基础教程(第3版)-201802出版-文字版
2018-03-01久负盛名的 Python 入门经典 针对 Python 3 全新升级 十个出色的项目,让你尽快可以使用 Python 解决实际问题 目录 第 1章 快速上手:基础知识 ........................ 1 1.1 交互式解释器 ........................................... 1 1.2 算法是什么 ............................................... 2 1.3 数和表达式 ............................................... 3 1.4 变量 .......................................................... 5 1.5 语句 .......................................................... 5 1.6 获取用户输入 ........................................... 7 1.7 函数 .......................................................... 8 1.8 模块 .......................................................... 8 1.8.1 cmath 和复数 ................................. 9 1.8.2 回到未来 ...................................... 10 1.9 保存并执行程序 ...................................... 10 1.9.1 从命令提示符运行 Python脚本 .............................................. 12 1.9.2 让脚本像普通程序一样 ............... 12 1.9.3 注释 .............................................. 13 1.10 字符串 .................................................... 13 1.10.1 单引号字符串以及对引号转义 .......................................... 14 1.10.2 拼接字符串 .............................. 15 1.10.3 字符串表示 str 和 repr ............ 15 1.10.4 长字符串、原始字符串和字节 .......................................... 16 1.11 小结 ....................................................... 21 1.11.1 本章介绍的新函数 ................... 21 1.11.2 预告 .......................................... 22 第 2章 列表和元组 ........................................ 23 2.1 序列概述 .................................................. 23 2.2 通用的序列操作 ...................................... 24 2.2.1 索引.............................................. 24 2.2.2 切片.............................................. 26 2.2.3 序列相加 ...................................... 28 2.2.4 乘法.............................................. 28 2.2.5 成员资格 ...................................... 29 2.3 列表:Python 的主力 .............................. 31 2.3.1 函数 list ...................................... 31 2.3.2 基本的列表操作 .......................... 31 2.3.3 列表方法 ...................................... 33 2.4 元组:不可修改的序列 ........................... 38 2.5 小结 ......................................................... 39 2.5.1 本章介绍的新函数 ....................... 40 2.5.2 预告.............................................. 40 第 3章 使用字符串 ....................................... 41 3.1 字符串基本操作 ...................................... 41 3.2 设置字符串的格式:精简版 ................... 41 3.3 设置字符串的格式:完整版 ................... 43 3.3.1 替换字段名 .................................. 43 3.3.2 基本转换 ...................................... 44 3.3.3 宽度、精度和千位分隔符 ........... 45 3.3.4 符号、对齐和用 0 填充 ............... 46 3.4 字符串方法 .............................................. 48 3.4.1 center ........................................... 48 3.4.2 find .............................................. 48 3.4.3 join .............................................. 49 3.4.4 lower ............................................ 50 3.4.5 replace ......................................... 51 3.4.6 split ............................................ 51 3.4.7 strip ............................................ 51 3.4.8 translate ..................................... 52 3.4.9 判断字符串是否满足特定的条件 ............................................. 52 3.5 小结 ......................................................... 53 3.5.1 本章介绍的新函数 ....................... 53 3.5.2 预告 ............................................. 53 第 4章 当索引行不通时 ............................... 54 4.1 字典的用途 .............................................. 54 4.2 创建和使用字典 ...................................... 55 4.2.1 函数 dict ..................................... 55 4.2.2 基本的字典操作 .......................... 55 4.2.3 将字符串格式设置功能用于字典 ............................................. 57 4.2.4 字典方法 ...................................... 58 4.3 小结 ......................................................... 63 4.3.1 本章介绍的新函数 ....................... 63 4.3.2 预告 ............................................. 63 第 5章 条件、循环及其他语句 .................. 64 5.1 再谈 print 和 import ............................... 64 5.1.1 打印多个参数 .............................. 64 5.1.2 导入时重命名 .............................. 65 5.2 赋值魔法 ................................................. 66 5.2.1 序列解包 ...................................... 66 5.2.2 链式赋值 ...................................... 67 5.2.3 增强赋值 ...................................... 67 5.3 代码块:缩进的乐趣 .............................. 68 5.4 条件和条件语句 ...................................... 69 5.4.1 这正是布尔值的用武之地 ........... 69 5.4.2 有条件地执行和 if 语句 ............. 70 5.4.3 else 子句 ...................................... 70 5.4.4 elif 子句 ...................................... 71 5.4.5 代码块嵌套 .................................. 71 5.4.6 更复杂的条件 .............................. 71 5.4.7 断言 ............................................. 75 5.5 循环 ......................................................... 76 5.5.1 while 循环 .................................... 77 5.5.2 for 循环 ....................................... 77 5.5.3 迭代字典 ...................................... 78 5.5.4 一些迭代工具 .............................. 78 5.5.5 跳出循环 ...................................... 80 5.5.6 循环中的 else 子句 ..................... 82 5.6 简单推导 ................................................. 83 5.7 三人行 ..................................................... 84 5.7.1 什么都不做 .................................. 84 5.7.2 使用 del 删除............................... 85 5.7.3 使用 exec 和 eval 执行字符串及计算其结果 .............................. 86 5.8 小结 ......................................................... 88 5.8.1 本章介绍的新函数 ...................... 89 5.8.2 预告 ............................................. 89 第 6章 抽象 .................................................... 90 6.1 懒惰是一种美德 ...................................... 90 6.2 抽象和结构 ............................................. 91 6.3 自定义函数 ............................................. 91 6.3.1 给函数编写文档 .......................... 92 6.3.2 其实并不是函数的函数 ............... 93 6.4 参数魔法 ................................................. 93 6.4.1 值从哪里来 .................................. 94 6.4.2 我能修改参数吗 .......................... 94 6.4.3 关键字参数和默认值 ................... 98 6.4.4 收集参数 .................................... 100 6.4.5 分配参数 .................................... 102 6.4.6 练习使用参数 ............................ 103 6.5 作用域 ................................................... 105 6.6 递归 ....................................................... 107 6.6.1 两个经典案例:阶乘和幂 ......... 108 6.6.2 另一个经典案例:二分查找 ..... 109 6.7 小结 ....................................................... 112 6.7.1 本章介绍的新函数 .................... 113 6.7.2 预告 ........................................... 113 第 7章 再谈抽象 ......................................... 114 7.1 对象魔法 ............................................... 114 7.1.1 多态 ........................................... 115 7.1.2 多态和方法 ................................ 116 7.1.3 封装 ........................................... 118 7.1.4 继承 ........................................... 119 7.2 类 ........................................................... 119 7.2.1 类到底是什么 ............................ 119 7.2.2 创建自定义类 ............................ 120 7.2.3 属性、函数和方法 ..................... 121 7.2.4 再谈隐藏 .................................... 122 7.2.5 类的命名空间 ............................ 123 7.2.6 指定超类 .................................... 124 7.2.7 深入探讨继承 ............................ 125 7.2.8 多个超类 .................................... 126 7.2.9 接口和内省 ................................ 127 7.2.10 抽象基类 .................................. 128 7.3 关于面向对象设计的一些思考 ............. 130 7.4 小结 ....................................................... 130 7.4.1 本章介绍的新函数 ..................... 131 7.4.2 预告 ............................................ 131 第 8章 异常 .................................................. 132 8.1 异常是什么 ............................................ 132 8.2 让事情沿你指定的轨道出错 ................. 132 8.2.1 raise 语句 .................................. 132 8.2.2 自定义的异常类 ......................... 133 8.3 捕获异常 ................................................ 134 8.3.1 不用提供参数 ............................ 134 8.3.2 多个 except 子句 ........................ 136 8.3.3 一箭双雕 .................................... 136 8.3.4 捕获对象 .................................... 137 8.3.5 一网打尽 .................................... 137 8.3.6 万事大吉时 ................................ 138 8.3.7 最后 ............................................ 139 8.4 异常和函数 ............................................ 140 8.5 异常之禅 ................................................ 140 8.6 不那么异常的情况 ................................ 142 8.7 小结 ....................................................... 143 8.7.1 本章介绍的新函数 ..................... 143 8.7.2 预告 ............................................ 143 第 9章 魔法方法、特性和迭代器 ............ 144 9.1 如果你使用的不是 Python 3 .................. 144 9.2 构造函数 ................................................ 145 9.2.1 重写普通方法和特殊的构造函数 ............................................ 146 9.2.2 调用未关联的超类构造函数 ..... 147 9.2.3 使用函数 super ......................... 148 9.3 元素访问 ................................................ 149 9.3.1 基本的序列和映射协议 ............. 150 9.3.2 从 list、dict 和 str 派生 ......... 152 9.4 其他魔法方法 ........................................ 153 9.5 特性 ....................................................... 153 9.5.1 函数 property............................. 154 9.5.2 静态方法和类方法 ..................... 155 9.5.3 __getattr__、__setattr__等方法 ........................................... 156 9.6 迭代器 ................................................... 157 9.6.1 迭代器协议 ................................ 157 9.6.2 从迭代器创建序列 ..................... 159 9.7 生成器 ................................................... 159 9.7.1 创建生成器 ................................ 159 9.7.2 递归式生成器 ............................ 161 9.7.3 通用生成器 ................................ 162 9.7.4 生成器的方法 ............................ 162 9.7.5 模拟生成器 ................................ 163 9.8 八皇后问题 ............................................ 164 9.8.1 生成器的回溯 ............................ 164 9.8.2 问题............................................ 165 9.8.3 状态表示 .................................... 166 9.8.4 检测冲突 .................................... 166 9.8.5 基线条件 .................................... 166 9.8.6 递归条件 .................................... 167 9.8.7 扫尾工作 .................................... 169 9.9 小结 ....................................................... 170 9.9.1 本章介绍的新函数 ..................... 170 9.9.2 预告............................................ 171 第 10章 开箱即用 ....................................... 172 10.1 模块 ..................................................... 172 10.1.1 模块就是程序 ........................ 172 10.1.2 模块是用来下定义的 ............. 174 10.1.3 让模块可用 ............................ 176 10.1.4 包 ........................................... 177 10.2 探索模块 .............................................. 178 10.2.1 模块包含什么 ........................ 178 10.2.2 使用 help 获取帮助 ............... 179 10.2.3 文档 ........................................ 180 10.2.4 使用源代码 ............................ 181 10.3 标准库:一些深受欢迎的模块 ........... 181 10.3.1 sys .......................................... 181 10.3.2 os ............................................ 183 10.3.3 fileinput ............................... 185 10.3.4 集合、堆和双端队列 ............. 186 10.3.5 time ........................................ 190 10.3.6 random ..................................... 192 10.3.7 shelve 和 json ........................ 195 10.3.8 re ............................................ 198 10.3.9 其他有趣的标准模块 ............. 210 10.4 小结 ..................................................... 211 10.4.1 本章介绍的新函数 ................. 212 10.4.2 预告 ........................................ 212 第 11章 文件 ................................................ 213 11.1 打开文件 .............................................. 213 11.2 文件的基本方法 .................................. 214 11.2.1 读取和写入 ............................ 215 11.2.2 使用管道重定向输出 ............. 215 11.2.3 读取和写入行 ........................ 217 11.2.4 关闭文件 ................................ 217 11.2.5 使用文件的基本方法 ............. 218 11.3 迭代文件内容 ...................................... 220 11.3.1 每次一个字符(或字节) ..... 220 11.3.2 每次一行 ................................ 221 11.3.3 读取所有内容 ........................ 221 11.3.4 使用 fileinput 实现延迟行迭代 ........................................ 221 11.3.5 文件迭代器 ............................ 222 11.4 小结 ..................................................... 223 11.4.1 本章介绍的新函数 ................. 223 11.4.2 预告 ........................................ 224 第 12章 图形用户界面 ............................... 225 12.1 创建 GUI 示例应用程序 ...................... 225 12.1.1 初探 ........................................ 226 12.1.2 布局 ........................................ 227 12.1.3 事件处理 ................................ 228 12.1.4 最终的程序 ............................ 229 12.2 使用其他 GUI 工具包 ......................... 230 12.3 小结 ..................................................... 231 第 13章 数据库支持 ................................... 232 13.1 Python 数据库 API .............................. 232 13.1.1 全局变量 ................................ 233 13.1.2 异常 ....................................... 234 13.1.3 连接和游标 ............................ 234 13.1.4 类型 ....................................... 236 13.2 SQLite 和 PySQLite ............................ 236 13.2.1 起步 ....................................... 237 13.2.2 数据库应用程序示例 ............. 238 13.3 小结 ..................................................... 241 13.3.1 本章介绍的新函数 ................ 241 13.3.2 预告 ....................................... 241 第 14章 网络编程 ....................................... 242 14.1 几个网络模块 ...................................... 242 14.1.1 模块 socket ............................ 242 14.1.2 模块 urllib 和 urllib2 .......... 244 14.1.3 其他模块 ................................ 246 14.2 SocketServer 及相关的类 .................... 247 14.3 多个连接 ............................................. 247 14.3.1 使用 SocketServer 实现分叉和线程化 ........................ 249 14.3.2 使用 select 和 poll 实现异步 I/O ................................. 249 14.4 Twisted ................................................ 252 14.4.1 下载并安装 Twisted .............. 252 14.4.2 编写 Twisted 服务器 .............. 253 14.5 小结 ..................................................... 254 14.5.1 本章介绍的新函数 ................ 255 14.5.2 预告 ....................................... 255 第 15章 Python和 Web ............................ 256 15.1 屏幕抓取 ............................................. 256 15.1.1 Tidy 和 XHTML 解析 ............ 257 15.1.2 Beautiful Soup ....................... 261 15.2 使用 CGI 创建动态网页 ...................... 262 15.2.1 第一步:准备 Web 服务器 .... 262 15.2.2 第二步:添加!#行 ................. 263 15.2.3 第三步:设置文件权限 ......... 264 15.2.4 CGI 安全风险 ......................... 264 15.2.5 简单的 CGI 脚本 .................... 264 15.2.6 使用 cgitb 进行调试 .............. 265 15.2.7 使用模块 cgi .......................... 266 15.2.8 简单的表单 ............................ 267 15.3 使用 Web 框架 ..................................... 269 15.4 Web 服务:更高级的抓取 ................... 270 15.4.1 RSS 和相关内容 ..................... 270 15.4.2 使用 XML-RPC 进行远程过程调用................................. 271 15.4.3 SOAP ...................................... 272 15.5 小结 ..................................................... 272 15.5.1 本章介绍的新函数 ................. 272 15.5.2 预告 ........................................ 272 第 16章 测试基础 ........................................ 273 16.1 先测试再编码 ...................................... 273 16.1.1 准确的需求说明 ..................... 273 16.1.2 做好应对变化的准备 ............. 275 16.1.3 测试四步曲 ............................ 275 16.2 测试工具 .............................................. 276 16.2.1 doctest ................................... 276 16.2.2 unittest.................................. 278 16.3 超越单元测试 ...................................... 280 16.3.1 使用 PyChecker 和 PyLint检查源代码 ............................. 280 16.3.2 性能分析 ................................ 283 16.4 小结 ..................................................... 284 16.4.1 本章介绍的新函数 ................. 285 16.4.2 预告 ........................................ 285 第 17章 扩展 Python .................................. 286 17.1 鱼和熊掌兼得 ...................................... 286 17.2 简单易行的方式:Jython 和IronPython ............................................ 287 17.3 编写 C 语言扩展 .................................. 289 17.3.1 SWIG ...................................... 291 17.3.2 手工编写扩展 ........................ 294 17.4 小结 ..................................................... 298 17.4.1 本章介绍的新函数 ................. 299 17.4.2 预告 ........................................ 299 第 17章 程序打包 ....................................... 300 18.1 Setuptools 基础 .................................... 300 18.2 打包 ..................................................... 302 18.3 编译扩展 .............................................. 303 18.4 使用 py2exe 创建可执行程序 .............. 304 18.5 小结 ..................................................... 304 18.5.1 本章介绍的新函数 ................. 305 18.5.2 预告 ........................................ 305 第 19章 趣味编程 ....................................... 306 19.1 为何要有趣 .......................................... 306 19.2 编程柔术 .............................................. 306 19.3 原型设计 .............................................. 307 19.4 配置 ..................................................... 308 19.4.1 提取常量 ................................ 308 19.4.2 配置文件 ................................ 309 19.5 日志 ..................................................... 311 19.6 如果你已不胜其烦 .............................. 312 19.7 如果你想深入学习 .............................. 312 19.8 小结 ..................................................... 313 第 20章 项目 1:自动添加标签 ............... 315 20.1 问题描述 .............................................. 315 20.2 有用的工具 .......................................... 316 20.3 准备工作 .............................................. 316 20.4 初次实现 .............................................. 317 20.4.1 找出文本块 ............................ 317 20.4.2 添加一些标记 ........................ 318 20.5 再次实现 .............................................. 319 20.5.1 处理程序 ................................ 320 20.5.2 处理程序的超类 ..................... 320 20.5.3 规则 ........................................ 322 20.5.4 规则的超类 ............................ 323 20.5.5 过滤器 .................................... 323 20.5.6 解析器 .................................... 323 20.5.7 创建规则和过滤器 ................. 324 20.5.8 整合起来 ................................ 327 20.6 进一步探索 .......................................... 331 第 21章 项目 2:绘制图表 ....................... 332 21.1 问题描述 .............................................. 332 21.2 有用的工具 .......................................... 332 21.3 准备工作 .............................................. 333 21.4 初次实现 .............................................. 333 21.4.1 使用 ReportLab 绘图 .............. 334 21.4.2 绘制折线 ................................ 335 21.4.3 编写原型 ................................ 335 21.5 再次实现 .............................................. 337 21.5.1 获取数据 ................................ 337 21.5.2 使用 LinePlot 类 .................... 337 21.6 进一步探索 .......................................... 339 第 22章 项目 3:万能的 XML .................. 340 22.1 问题描述 .............................................. 340 22.2 有用的工具 .......................................... 341 22.3 准备工作 .............................................. 341 22.4 初次实现 .............................................. 343 22.4.1 创建简单的内容处理程序 ..... 343 22.4.2 创建 HTML 页面 ................... 345 22.5 再次实现 .............................................. 347 22.5.1 分派器混合类 ........................ 347 22.5.2 将首部和尾部写入文件的方法以及默认处理程序 ............. 349 22.5.3 支持目录 ................................ 349 22.5.4 事件处理程序 ........................ 350 22.6 进一步探索 .......................................... 352 第 23章 项目 4:新闻汇总 ....................... 353 23.1 问题描述 .............................................. 353 23.2 有用的工具 .......................................... 354 23.3 准备工作 .............................................. 354 23.4 初次实现 .............................................. 354 23.5 再次实现 .............................................. 356 23.6 进一步探索 .......................................... 362 第 24章 项目 5:虚拟茶话会 ................... 364 24.1 问题描述 ............................................. 364 24.2 有用的工具.......................................... 364 24.3 准备工作 ............................................. 365 24.4 初次实现 ............................................. 366 24.4.1 ChatServer 类 ......................... 366 24.4.2 ChatSession 类 ....................... 367 24.4.3 整合起来 ................................ 369 24.5 再次实现 ............................................. 371 24.5.1 基本的命令解释功能 ............. 371 24.5.2 聊天室 .................................... 372 24.5.3 登录和退出聊天室 ................ 372 24.5.4 主聊天室 ................................ 373 24.5.5 新的服务器 ............................ 373 24.6 进一步探索.......................................... 378 第 25章 项目 6:使用 CGI进行远程编辑................................................ 379 25.1 问题描述 ............................................. 379 25.2 有用的工具.......................................... 379 25.3 准备工作 ............................................. 380 25.4 初次实现 ............................................. 380 25.5 再次实现 ............................................. 381 25.5.1 创建文件名表单 .................... 381 25.5.2 编写编辑器脚本 .................... 382 25.5.3 编写保存脚本 ........................ 383 25.5.4 运行编辑器 ............................ 384 25.6 进一步探索.......................................... 386 第 26章 项目 7:自建公告板 ................... 387 26.1 问题描述 ............................................. 387 26.2 有用的工具.......................................... 387 26.3 准备工作 ............................................. 388 26.4 初次实现 ............................................. 389 26.5 再次实现 ............................................. 393 26.5.1 编写脚本 main.cgi ................. 394 26.5.2 编写脚本 view.cgi ................. 395 26.5.3 编写脚本 edit.cgi ................... 396 26.5.4 编写脚本 save.cgi .................. 398 26.5.5 尝试使用 ................................ 399 26.6 进一步探索.......................................... 400 第 27章 项目 8:使用 XML-RPC共享文件 .......................................... 401 27.1 问题描述 .............................................. 401 27.2 有用的工具 .......................................... 402 27.3 准备工作 .............................................. 403 27.4 初次实现 .............................................. 403 27.4.1 实现简单的节点 ..................... 403 27.4.2 尝试使用 ................................ 408 27.5 再次实现 .............................................. 409 27.5.1 创建客户端界面 ..................... 410 27.5.2 引发异常 ................................ 410 27.5.3 验证文件名 ............................ 411 27.5.4 尝试使用 ................................ 415 27.6 进一步探索 .......................................... 415 第 28章 项目 9:使用 GUI共享文件 ..... 417 28.1 问题描述 .............................................. 417 28.2 有用的工具 .......................................... 417 28.3 准备工作 .............................................. 417 28.4 初次实现 .............................................. 417 28.5 再次实现 .............................................. 419 28.6 进一步探索 .......................................... 422 第 29章 项目 10:自制街机游戏 ............ 423 29.1 问题描述 .............................................. 423 29.2 有用的工具 .......................................... 424 29.2.1 pygame ..................................... 424 29.2.2 pygame.locals ........................ 424 29.2.3 pygame.display ....................... 424 29.2.4 pygame.font ............................ 425 29.2.5 pygame.sprite ........................ 425 29.2.6 pygame.mouse .......................... 425 29.2.7 pygame.event .......................... 425 29.2.8 pygame.image .......................... 426 29.3 准备工作 .............................................. 426 29.4 初次实现 .............................................. 426 29.5 再次实现 .............................................. 429 29.6 进一步探索 .......................................... 438 附录 A 简明教程 .......................................... 440 附录 B Python参考手册 ............................ 447
58.65MB
MySQL 5权威指南(第3版)--详细书签版
2013-02-05CruiseYoung提供的带有详细书签的电子书籍目录 http://blog.csdn.net/fksec/article/details/7888251 MySQL 5权威指南(第3版) 基本信息 原书名: The Definitive Guide to MySQL 5, Third Edition 原出版社: Apress 作者: (美)Michael Kofler 译者: 杨晓云 王建桥 杨涛 等 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:711515337X 上架时间:2006-11-27 出版日期:2006 年12月 开本:16开 页码:662 版次:3-1 内容简介 本书全面深入地介绍了mysql的功能,主要内容包括mysql、php、apache、perl等组件的安装与功能简介,mysql等一些重要系统管理工具和用户操作界面的使用,mysql数据库系统设计的基础知识与用不同语言设计mysql数据库的过程,以及sql语法、工具、选项、api应用指南,最大限度地帮助读者更快地学习和掌握mysql数据库系统的设计和使用。本书覆盖了mysql 5.0,讨论了新的程序设计接口(如php 5里的mysqli)和新的系统管理工具。 本书是mysql数据库管理员和开发人员的必备参考书。 作译者 Michael Kofler 在奥地利格拉茨技术大学获得计算机科学博士学位。他写了很多非常成功的计算机图书,内容涉及Visual Basic、Linux、Mathematica和Maple等多种程序没计语言和软件。Kofler还是Definitive Guide to Excel VBA第2版的作者。 目录 封面 -23 封底 -22 扉页 -21 版权 -20 版权声明 -19 译者序 -18 前言 -16 目录 -11 第一部分 入门 1 第1章 什么是MySQL 2 1.1 什么是数据库 2 1.1.1 关系、数据库系统、服务器和客户 2 1.1.2 关系数据库系统与面向对象数据库系统 3 1.1.3 数据表、记录、字段、查询、SQL、索引和键 3 1.2 MySQL 4 1.3 MySQL的不足 6 1.4 MySQL的版本编号 7 1.4.1 Alpha、Beta、Gamma、Production(Generally Available) 8 1.4.2 按版本编号排列的MySQL功能表 8 1.5 MySQL的许可证 10 1.5.1 GPL许可证下的权利和义务 10 1.5.2 开源许可证下的MySQL软件 10 1.5.3 商用许可证下的MySQL软件 11 1.5.4 MySQL客户软件开发库(Connector/ODBC、Connector/J等)的商用许可证 12 1.5.5 PHP项目的客户许可证问题——F(L)OSS特例 12 1.5.6 MySQL软件的版本名称 13 1.5.7 MySQL软件的技术支持合同 14 1.6 MySQL软件的替代品 14 1.7 小结 15 第2章 测试环境 16 2.1 是Windows还是UNIX/Linux 16 2.1.1 MySQL应用现状(因特网上的数据库服务器) 16 2.1.2 开发环境 17 2.2 在Windows系统上安装MySQL和相关软件 17 2.2.1 安装Apache 2.0 18 2.2.2 安装MySQL 5.0 19 2.2.3 安装PHP 5.0 22 2.2.4 安装Perl 23 2.3 在SUSE Linux 9.3系统上安装MySQL和相关软件 25 2.3.1 安装Apache 2、PHP 5和Perl 25 2.3.2 安装MySQL 5.0 27 2.4 在Red Hat Enterprise Linux 4系统上安装MySQL和相关软件 29 2.4.1 安装Apache 2 29 2.4.2 安装MySQL 5 30 2.4.3 编译PHP 5 30 2.4.4 安装Perl 5.8 33 2.5 编译MySQL软件的开发者版本(Linux) 33 2.5.1 安装Bitkeeper 33 2.5.2 下载MySQL软件的开发者版本 34 2.5.3 编译MySQL 34 2.5.4 创建用来管理访问权限的mysql数据库 34 2.5.5 MySQL配置文件和Init-V脚本 34 2.5.6 启动MySQL服务器 35 2.6 配置Apac
76.54MB
数据整理实践指南.[美]Q.Ethan McCallum(带详细书签) PDF 下载
2018-02-20随着数据科学的热门,数据的优化、整理以及如何处理不良数据成为人们关注的重点。本书通过处理不良数据,进行数据清理的案例,向读者展示了处理数据的方法。 本书共有19章,从6部分向读者展示了使用和清理不良数据背后的理论和实践。第1部分是Grubby的动手实践指南,它向读者介绍了驾驭、提取数据的方法,如何处理文本数据中的数据以及Web开发中碰到的数据问题。第2部分是让人充满意外的数据,它向读者介绍了数据也会“撒谎”。第3部分是方法,它向读者介绍了处理不良数据的一些方法。第4部分是数据存储和基础设施,它向读者介绍了如何存储数据。第5部分是数据的商业化,它向读者介绍了如何避免数据处理的一些误差。第6部分是数据策略,它向读者介绍了如何追踪数据、评估数据质量以及构建数据质量相关平台等。 本书适合数据科学家、数据处理和整理相关开发人员阅读。也适合想要进入数据处理领域的读者阅读。 第1章 从头说起:什么是噪音数据 1 第2章 是我的问题还是数据的问题 4 2.1 理解数据结构 5 2.2 校验 8 2.2.1 字段校验 8 2.2.2 值校验 9 2.2.3 简单统计的物理解释 10 2.3 可视化 11 2.3.1 关键词竞价排名示例 13 2.3.2 搜索来源示例 18 2.3.3 推荐分析 19 2.3.4 时间序列数据 22 2.4 小结 27 第3章 数据是给人看的不是给机器看的 28 3.1 数据 28 3.1.1 问题:数据是给人看的 29 3.1.2 对数据的安排 29 3.1.3 数据分散在多个文件中 32 3.2 解决方案:编写代码 34 3.2.1 从糟糕的数据格式中读取数据 34 3.2.2 从多个文件中读取数据 36 3.3 附言 42 3.4 其他格式 43 3.5 小结 45 第4章 纯文本中潜在的噪音数据 46 4.1 使用哪种纯文本编码? 46 4.2 猜测文本编码格式 50 4.3 对文本规范化处理 53 4.4 问题:在纯文本中掺入了特定应用字符 55 4.5 通过Python处理文本 59 4.6 实践练习题 60 第5章 重组Web数据 62 5.1 你能获得数据吗 63 5.1.1 一般工作流程示例 64 5.1.2 Robots 协议 65 5.1.3 识别数据组织模式 66 5.1.4 存储离线版本 68 5.1.5 网页抓取信息 69 5.2 真正的困难 73 5.2.1 下载原始内容 73 5.2.2 表单、对话框和新建窗口 73 5.2.3 Flash 74 5.3 不利情况的解决办法 75 5.4 小结 75 第6章 检测撒谎者以及相互矛盾网上评论的困惑 76 6.1 Weotta公司 76 6.2 获得评论 77 6.3 情感分类 77 6.4 极化语言 78 6.5 创建语料库 80 6.6 训练分类器 81 6.7 分类器验证 82 6.8 用数据设计 84 6.9 经验教训 84 6.10 小结 85 6.11 信息资源 86 第7章 请噪音数据站出来 87 7.1 实例1:在制造业中减少缺陷 87 7.2 实例2:谁打来的电话 90 7.3 实例3:当“典型的”不等于“平均的” 92 7.4 经验总结 95 7.5 到工厂参观能成为试验的一部分吗 96 第8章 血、汗和尿 97 8.1 书呆子戏剧性工作交换 97 8.2 化学家如何整理数字 98 8.3 数据库都是我们的 99 8.4 仔细检查 102 8.5 生命短暂的漂亮代码库 103 8.6 改变化学家(和其他电子表单滥用者) 104 8.7 传递线(tl)和数据记录器(dr) 105 第9章 当数据与现实不匹配 107 9.1 到底是谁的报价机 108 9.2 股票分割、股利和调整 110 9.3 糟糕的现实 112 9.4 小结 114 第10章 偏差和误差的来源 115 10.1 估算上的偏差:一般性的问题 117 10.2 报告上的误差:一般性的问题 118 10.3 其他偏差来源 121 10.3.1 顶层编码/底部编码 121 10.3.2 Seam偏差 122 10.3.3 代理报告 123 10.3.4 样本选择 123 10.4 结论 124 参考文献 124 第11章 不要把完美和正确对立起来:噪音数据真是噪音吗 128 11.1 回忆学校生活 128 11.2 向着专业领域前进 129 11.2.1 政府工作 130 11.2.2 政府数据非常真实 131 11.3 应用实例—服务电话 132 11.4 继续前进 133 11.5 经验与未来展望 134 第12章 数据库攻击:什么时候使用文件 135 12.1 历史 135 12.2 建立我的工具箱 136 12.3 数据存储—我的路障 136 12.4 将文件作为数据存储器 137 12.4.1 简单的文件 138 12.4.2 文件处理一切 138 12.4.3 文件可包含任何数据形式 138 12.4.4 局部数据破坏 139 12.4.5 文件拥有很棒的工具 139 12.4.6 没有安装税 139 12.5 文件的概念 140 12.5.1 编码 140 12.5.2 文本文件 140 12.5.3 二进制数据 140 12.5.4 内存映射文件 140 12.5.5 文件格式 140 12.5.6 分隔符 142 12.6 文件支持的网络框架 143 12.6.1 动机 143 12.6.2 实现 145 12.7 反馈 145 第13章 卧库表,隐网络 146 13.1 成本分配模型 147 13.2 组合展开微妙的作用 150 13.3 隐藏网络的浮现 151 13.4 存储图表 151 13.5 利用Gremlin遍历图表 152 13.6 在网络属性里寻找价值 154 13.7 从多重数据模型角度考虑并使用正确的工具 155 13.8 致谢 155 第14章 云计算神话 156 14.1 关于云的介绍 156 14.2 何谓“云” 156 14.3 云和大数据 157 14.4 Fred的故事 157 14.4.1 起初一切都好 157 14.4.2 基础结构全部放在云端 158 14.4.3 随着规模增长,最初的扩展很轻松 158 14.4.4 麻烦出现了 158 14.4.5 需要提高性能 158 14.4.6 关键要提高RAID 10性能 158 14.4.7 重要的局部运行中断引发长期停机 159 14.4.8 有代价的RAID 10 159 14.4.9 数据规模增大 160 14.4.10 地理冗余成为首选 160 14.4.11 水平扩展并不像想像得那么简单 160 14.4.12 成本显著增长 160 14.5 Fred的荒唐事 161 14.5.1 神话1:云是所有基础设施组件的解决方案 161 该神话与Fred故事的联系 161 14.5.2 神话2:云可以节约成本 161 该神话与Fred的故事的联系 162 14.5.3 神话3:通过RAID可以将cloud 10的性能提高至可接受的水平 163 该神话与Fred故事的联系 163 14.5.4 神话4:云计算使水平扩展轻松 163 该神话与Fred故事的联系 164 14.6 结论和推荐 164 第15章 数据科学的阴暗面 165 15.1 避开这些陷阱 165 15.1.1 对数据一无所知 166 15.1.2 应该只为数据科学家提供一种工具来解决所有问题 167 15.1.3 应该为了分析而分析 169 15.1.4 应该学会分享 169 15.1.5 应该期望数据科学家无所不能 170 15.2 数据学家在机构中的位置 170 15.3 最后的想法 171 第16章 如何雇佣机器学习专家 172 16.1 确定问题 172 16.2 模型测试 173 16.3 创建训练集 174 16.4 选择特征 175 16.5 数据编码 176 16.6 训练集、测试集和解决方案集 176 16.7 问题描述 177 16.8 回答问题 178 16.9 整合解决方案 178 16.10 小结 179 第17章 数据的可追踪性 180 17.1 原因 180 17.2 个人经验 181 17.2.1 快照 181 17.2.2 保存数据源 181 17.2.3 衡量数据源 182 17.2.4 逆向恢复数据 182 17.2.5 分阶段处理数据并保持各阶段的独立性 182 17.2.6 识别根源 183 17.2.7 寻找要完善的区域 183 17.3 不变性:从函数程序设计借来的理念 183 17.4 案例 184 17.4.1 网络爬虫 184 17.4.2 改变 185 17.4.3 聚类 185 17.4.4 普及度 185 17.5 小结 186 第18章 社交媒体:是可抹去的印记吗 187 18.1 社交媒体:到底是谁的数据 188 18.2 管控 188 18.3 商业重组 190 18.4 对沟通和表达的期望 190 18.5 新的最终用户期望的技术含义 192 18.6 这个行业是做什么的 194 18.6.1 验证API 195 18.6.2 更新通知API 195 18.7 最终用户做什么 195 18.8 我们怎样一起工作 196 第19章 揭秘数据质量分析:了解什么时候数据足够优质 197 19.1 框架介绍:数据质量分析的4个C 198 19.1.1 完整性 199 19.1.2 一致性 201 19.1.3 准确性 203 19.1.4 可解释性 205 19.2 结论 208
456KB
NtSky留言本
2004-05-08本留言本采用jsp+javabean+servlet+mysql
4.40MB
MYSQL中文手册
2013-03-11言 1. 一般信息 1.1. 关于本手册 1.2. 本手册采用的惯例 1.3. MySQL AB概述 1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. MySQL的的主要特性 1.4.3. MySQL稳定性 1.4.4. MySQL表最大能达到多少 1.4.5. 2000年兼容性 1.5. MaxDB数据库管理系统概述 1.5.1. 什么是MaxDB? 1.5.2. MaxDB的历史 1.5.3. MaxDB的特性 1.5.4. 许可和支持 1.5.5. MaxDB和MySQL之间的特性差异 1.5.6. MaxDB和MyS
7.66MB
MySQL 5.1参考手册中文版
2010-04-28目录 前言 1. 一般信息 1.1. 关于本手册 1.2. 本手册采用的惯例 1.3. MySQL AB概述 1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. MySQL的的主要特性 1.4.3. MySQL稳定性 1.4.4. MySQL表最大能达到多少 1.4.5. 2000年兼容性 1.5. MaxDB数据库管理系统概述 1.5.1. 什么是MaxDB? 1.5.2. MaxDB的历史 1.5.3. MaxDB的特性 1.5.4. 许可和支持 1.5.5. MaxDB和MySQL之间的特性差异 1.5.6. MaxDB和MySQL之间的协同性 1.5.7. 与MaxDB有关的链接 1.6. MySQL发展大事记 1.6.1. MySQL 5.1的新特性 1.7. MySQL信息源 1.7.1. MySQL邮件列表 1.7.2. IRC(在线聊天系统)上的MySQL社区支持 1.7.3. MySQL论坛上的MySQL社区支持 1.8. MySQL标准的兼容性 1.8.1. MySQL遵从的标准是什么 1.8.2. 选择SQL模式 1.8.3. 在ANSI模式下运行MySQL 1.8.4. MySQL对标准SQL的扩展 1.8.5. MySQL与标准SQL的差别 1.8.6. MySQL处理约束的方式 2. 安装MySQL 2.1. 一般安装问题 2.1.1. MySQL支持的操作系统 2.1.2. 选择要安装的MySQL分发版 2.1.3. 怎样获得MySQL 2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性 2.1.5. 安装布局 2.2. 使用二进制分发版的标准MySQL安装 2.3. 在Windows上安装MySQL 2.3.1. Windows系统要求 2.3.2. 选择安装软件包 2.3.3. 用自动安装器安装MySQL 2.3.4. 使用MySQL安装向导 2.3.5. 使用配置向导 2.3.6. 通过非安装Zip文件安装MySQL 2.3.7. 提取安装档案文件 2.3.8. 创建选项文件 2.3.9. 选择MySQL服务器类型 2.3.10. 首次启动服务器 2.3.11. 从Windows命令行启动MySQL 2.3.12. 以Windows服务方式启动MySQL 2.3.13. 测试MySQL安装 2.3.14. 在Windows环境下对MySQL安装的故障诊断与排除 2.3.15. 在Windows下升级MySQL 2.3.16. Windows版MySQL同Unix版MySQL对比 2.4. 在Linux下安装MySQL 2.5.在Mac OS X中安装MySQL 2.6. 在NetWare中安装MySQL 2.7. 在其它类Unix系统中安装MySQL 2.8. 使用源码分发版安装MySQL 2.8.1. 源码安装概述 2.8.2. 典型配置选项 2.8.3. 从开发源码树安装 2.8.4. 处理MySQL编译问题 2.8.5. MIT-pthreads注意事项 2.8.6. 在Windows下从源码安装MySQL 2.8.7. 在Windows下编译MySQL客户端 2.9. 安装后的设置和测试 2.9.1. Windows下安装后的过程 2.9.2. Unix下安装后的过程 2.9.3. 使初始MySQL账户安全 2.10. 升级MySQL 2.10.1. 从5.0版升级 2.10.2. 升级授权表 2.10.3. 将MySQL数据库拷贝到另一台机器 2.11. 降级MySQL 2.12. 具体操作系统相关的注意事项 2.12.1. Linux注意事项 2.12.2. Mac OS X注意事项 2.12.3. Solaris注意事项 2.12.4. BSD注意事项 2.12.5. 其它Unix注意事项 2.12.6. OS/2注意事项 2.13. Perl安装注意事项 2.13.1. 在Unix中安装Perl 2.13.2. 在Windows下安装ActiveState Perl 2.13.3. 使用Perl DBI/DBD接口的问题 3. 教程 3.1. 连接与断开服务器 3.2. 输入查询 3.3. 创建并使用数据库 3.3.1. 创建并选择数据库 3.3.2. 创建表 3.3.3. 将数据装入表中 3.3.4. 从表检索信息 3.4. 获得数据库和表的信息 3.5. 在批处理模式下使用mysql 3.6. 常用查询的例子 3.6.1. 列的最大值 3.6.2. 拥有某个列的最大值的行 3.6.3. 列的最大值:按组 3.6.4. 拥有某个字段的组间最大值的行 3.6.5. 使用用户变量 3.6.6. 使用外键 3.6.7. 根据两个键搜索 3.6.8. 根据天计算访问量 3.6.9. 使用AUTO_INCREMENT 3.7. 孪生项目的查询 3.7.1. 查找所有未分发的孪生项 3.7.2. 显示孪生对状态的表 3.8. 与Apache一起使用MySQL 4. MySQL程序概述 4.1. MySQL程序概述 4.2. 调用MySQL程序 4.3. 指定程序选项 4.3.1. 在命令行上使用选项 4.3.2. 使用选项文件 4.3.3. 用环境变量指定选项 4.3.4. 使用选项设置程序变量 5. 数据库管理 5.1. MySQL服务器和服务器启动脚本 5.1.1. 服务器端脚本和实用工具概述 5.1.2. mysqld-max扩展MySQL服务器 5.1.3. mysqld_safe:MySQL服务器启动脚本 5.1.4. mysql.server:MySQL服务器启动脚本 5.1.5. mysqld_multi:管理多个MySQL服务器的程序 5.2. mysqlmanager:MySQL实例管理器 5.2.1. 用MySQL实例管理器启动MySQL服务器 5.2.2. 连接到MySQL实例管理器并创建用户账户 5.2.3. MySQL实例管理器命令行选项 5.2.4. MySQL实例管理器配置文件 5.2.5. MySQL实例管理器识别的命令 5.3. mysqld:MySQL服务器 5.3.1. mysqld命令行选项 5.3.2. SQL服务器模式 5.3.3. 服务器系统变量 5.3.4. 服务器状态变量 5.4. mysql_fix_privilege_tables:升级MySQL系统表 5.5. MySQL服务器关机进程 5.6. 一般安全问题 5.6.1. 通用安全指南 5.6.2. 使MySQL在攻击者面前保持安全 5.6.3. Mysqld安全相关启动选项 5.6.4. LOAD DATA LOCAL安全问题 5.7. MySQL访问权限系统 5.7.1. 权限系统的作用 5.7.2. 权限系统工作原理 5.7.3. MySQL提供的权限 5.7.4. 与MySQL服务器连接 5.7.5. 访问控制, 阶段1:连接核实 5.7.6. 访问控制, 阶段2:请求核实 5.7.7. 权限更改何时生效 5.7.8. 拒绝访问错误的原因 5.7.9. MySQL 4.1中的密码哈希处理 5.8. MySQL用户账户管理 5.8.1. MySQL用户名和密码 5.8.2. 向MySQL增加新用户账户 5.8.3. 从MySQL删除用户账户 5.8.4. 限制账户资源 5.8.5. 设置账户密码 5.8.6. 使你的密码安全 5.8.7. 使用安全连接 5.9. 备份与恢复 5.9.1. 数据库备份 5.9.2. 示例用备份与恢复策略 5.9.3. 自动恢复 5.9.4. 表维护和崩溃恢复 5.9.5. myisamchk:MyISAM表维护实用工具 5.9.6. 建立表维护计划 5.9.7. 获取关于表的信息 5.10. MySQL本地化和国际应用 5.10.1. 数据和排序用字符集 5.10.2. 设置错误消息语言 5.10.3. 添加新的字符集 5.10.4. 字符定义数组 5.10.5. 字符串比较支持 5.10.6. 多字节字符支持 5.10.7. 字符集问题 5.10.8. MySQL服务器时区支持 5.11. MySQL日志文件 5.11.1. 错误日志 5.11.2. 通用查询日志 5.11.3. 二进制日志 5.11.4. 慢速查询日志 5.11.5. 日志文件维护 5.12. 在同一台机器上运行多个MySQL服务器 5.12.1. 在Windows下运行多个服务器 5.12.2. 在Unix中运行多个服务器 5.12.3. 在多服务器环境中使用客户端程序 5.13. MySQL查询高速缓冲 5.13.1. 查询高速缓冲如何工作 5.13.2. 查询高速缓冲SELECT选项 5.13.3. 查询高速缓冲配置 5.13.4. 查询高速缓冲状态和维护 6. MySQL中的复制 6.1. 复制介绍 6.2. 复制实施概述 6.3. 复制实施细节 6.3.1. 复制主线程状态 6.3.2. 复制从I/O线程状态 6.3.3. 复制从SQL线程状态 6.3.4. 复制传递和状态文件 6.4. 如何设置复制 6.5. 不同MySQL版本之间的复制兼容性 6.6. 升级复制设置 6.6.1. 将复制升级到5.0版 6.7. 复制特性和已知问题 6.8. 复制启动选项 6.9. 复制FAQ 6.10. 复制故障诊断与排除 6.11. 通报复制缺陷 6.12. 多服务器复制中的Auto-Increment 7. 优化 7.1. 优化概述 7.1.1. MySQL设计局限与折衷 7.1.2. 为可移植性设计应用程序 7.1.3. 我们已将MySQL用在何处? 7.1.4. MySQL基准套件 7.1.5. 使用自己的基准 7.2. 优化SELECT语句和其它查询 7.2.1. EXPLAIN语法(获取SELECT相关信息) 7.2.2. 估计查询性能 7.2.3. SELECT查询的速度 7.2.4. MySQL怎样优化WHERE子句 7.2.5. 范围优化 7.2.6. 索引合并优化 7.2.7. MySQL如何优化IS NULL 7.2.8. MySQL如何优化DISTINCT 7.2.9. MySQL如何优化LEFT JOIN和RIGHT JOIN 7.2.10. MySQL如何优化嵌套Join 7.2.11. MySQL如何简化外部联合 7.2.12. MySQL如何优化ORDER BY 7.2.13. MySQL如何优化GROUP BY 7.2.14. MySQL如何优化LIMIT 7.2.15. 如何避免表扫描 7.2.16. INSERT语句的速度 7.2.17. UPDATE语句的速度 7.2.18. DELETE语句的速度 7.2.19. 其它优化技巧 7.3. 锁定事宜 7.3.1. 锁定方法 7.3.2. 表锁定事宜 7.4. 优化数据库结构 7.4.1. 设计选择 7.4.2. 使你的数据尽可能小 7.4.3. 列索引 7.4.4. 多列索引 7.4.5. MySQL如何使用索引 7.4.6. MyISAM键高速缓冲 7.4.7. MyISAM索引统计集合 7.4.8. MySQL如何计算打开的表 7.4.9. MySQL如何打开和关闭表 7.4.10. 在同一个数据库中创建多个表的缺陷 7.5. 优化MySQL服务器 7.5.1. 系统因素和启动参数的调节 7.5.2. 调节服务器参数 7.5.3. 控制查询优化器的性能 7.5.4. 编译和链接怎样影响MySQL的速度 7.5.5. MySQL如何使用内存 7.5.6. MySQL如何使用DNS 7.6. 磁盘事宜 7.6.1. 使用符号链接 8. 客户端和实用工具程序 8.1. 客户端脚本和实用工具概述 8.2. myisampack:生成压缩、只读MyISAM表 8.3. mysql:MySQL命令行工具 8.3.1. 选项 8.3.2. mysql命令 8.3.3. 怎样从文本文件执行SQL语句 8.3.4. mysql技巧 8.4. mysqlaccess:用于检查访问权限的客户端 8.5. mysqladmin:用于管理MySQL服务器的客户端 8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. mysqlshow-显示数据库、表和列信息 8.12. myisamlog:显示MyISAM日志文件内容 8.13. perror:解释错误代码 8.14. replace:字符串替换实用工具 8.15. mysql_zap:杀死符合某一模式的进程 9. 语言结构 9.1. 文字值 9.1.1. 字符串 9.1.2. 数值 9.1.3. 十六进制值 9.1.4. 布尔值 9.1.5. 位字段值 9.1.6. NULL值 9.2. 数据库、表、索引、列和别名 9.2.1. 识别符限制条件 9.2.2. 识别符大小写敏感性 9.3. 用户变量 9.4. 系统变量 9.4.1. 结构式系统变量 9.5. 注释语法 9.6. MySQL中保留字的处理 10. 字符集支持 10.1. 常规字符集和校对 10.2. MySQL中的字符集和校对 10.3. 确定默认字符集和校对 10.3.1. 服务器字符集和校对 10.3.2. 数据库字符集和校对 10.3.3. 表字符集和校对 10.3.4. 列字符集和校对 10.3.5. 字符集和校对分配示例 10.3.6. 连接字符集和校对 10.3.7. 字符串文字字符集和校对 10.3.8. 在SQL语句中使用COLLATE 10.3.9. COLLATE子句优先 10.3.10. BINARY操作符 10.3.11. 校对确定较为复杂的一些特殊情况 10.3.12. 校对必须适合字符集 10.3.13. 校对效果的示例 10.4. 字符集支持影响到的操作 10.4.1. 结果字符串 10.4.2. CONVERT() 10.4.3. CAST() 10.4.4. SHOW语句 10.5. Unicode支持 10.6. 用于元数据的UTF8 10.7. 与其它DBMS的兼容性 10.8. 新字符集配置文件格式 10.9. 国家特有字符集 10.10. MySQL支持的字符集和校对 10.10.1. Unicode字符集 10.10.2. 西欧字符集 10.10.3. 中欧字符集 10.10.4. 南欧与中东字符集 10.10.5. 波罗的海字符集 10.10.6. 西里尔字符集 10.10.7. 亚洲字符集 11. 列类型 11.1. 列类型概述 11.1.1. 数值类型概述 11.1.2. 日期和时间类型概述 11.1.3. 字符串类型概述 11.2. 数值类型 11.3. 日期和时间类型 11.3.1. DATETIME、DATE和TIMESTAMP类型 11.3.2. TIME类型 11.3.3. YEAR类型 11.3.4. Y2K事宜和日期类型 11.4. String类型 11.4.1. CHAR和VARCHAR类型 11.4.2. BINARY和VARBINARY类型 11.4.3. BLOB和TEXT类型 11.4.4. ENUM类型 11.4.5. SET类型 11.5. 列类型存储需求 11.6. 选择正确的列类型 11.7. 使用来自其他数据库引擎的列类型 12. 函数和操作符 12.1. 操作符 12.1.1. 操作符优先级 12.1.2. 圆括号 12.1.3. 比较函数和操作符 12.1.4. 逻辑操作符 12.2. 控制流程函数 12.3. 字符串函数 12.3.1. 字符串比较函数 12.4. 数值函数 12.4.1. 算术操作符 12.4.2. 数学函数 12.5. 日期和时间函数 12.6. MySQL使用什么日历? 12.7. 全文搜索功能 12.7.1. 布尔全文搜索 12.7.2. 全文搜索带查询扩展 12.7.3. 全文停止字 12.7.4. 全文限定条件 12.7.5. 微调MySQL全文搜索 12.8. Cast函数和操作符 12.9. 其他函数 12.9.1. 位函数 12.9.2. 加密函数 12.9.3. 信息函数 12.9.4. 其他函数 12.10. 与GROUP BY子句同时使用的函数和修改程序 12.10.1. GROUP BY(聚合)函数 12.10.2. GROUP BY修改程序 12.10.3. 具有隐含字段的GROUP BY 13. SQL语句语法 13.1. 数据定义语句 13.1.1. ALTER DATABASE语法 13.1.2. ALTER TABLE语法 13.1.3. CREATE DATABASE语法 13.1.4. CREATE INDEX语法 13.1.5. CREATE TABLE语法 13.1.6. DROP DATABASE语法 13.1.7. DROP INDEX语法 13.1.8. DROP TABLE语法 13.1.9. RENAME TABLE语法 13.2. 数据操作语句 13.2.1. DELETE语法 13.2.2. DO语法 13.2.3. HANDLER语法 13.2.4. INSERT语法 13.2.5. LOAD DATA INFILE语法 13.2.6. REPLACE语法 13.2.7. SELECT语法 13.2.8. Subquery语法 13.2.9. TRUNCATE语法 13.2.10. UPDATE语法 13.3. MySQL实用工具语句 13.3.1. DESCRIBE语法(获取有关列的信息) 13.3.2. USE语法 13.4. MySQL事务处理和锁定语句 13.4.1. START TRANSACTION, COMMIT和ROLLBACK语法 13.4.2. 不能回滚的语句 13.4.3. 会造成隐式提交的语句 13.4.4. SAVEPOINT和ROLLBACK TO SAVEPOINT语法 13.4.5. LOCK TABLES和UNLOCK TABLES语法 13.4.6. SET TRANSACTION语法 13.4.7. XA事务 13.5. 数据库管理语句 13.5.1. 账户管理语句 13.5.2. 表维护语句 13.5.3. SET语法 13.5.4. SHOW语法 13.5.5. 其它管理语句 13.6. 复制语句 13.6.1. 用于控制主服务器的SQL语句 13.6.2. 用于控制从服务器的SQL语句 13.7. 用于预处理语句的SQL语法 14. 插件式存储引擎体系结构 14.1. 前言 14.2. 概述 14.3. 公共MySQL数据库服务器层 14.4. 选择存储引擎 14.5. 将存储引擎指定给表 14.6. 存储引擎和事务 14.7. 插入存储引擎 14.8. 拔出存储引擎 14.9. 插件式存储器的安全含义 15. 存储引擎和表类型 15.1. MyISAM存储引擎 15.1.1. MyISAM启动选项 15.1.2. 键所需的空间 15.1.3. MyISAM表的存储格式 15.1.4. MyISAM表方面的问题 15.2. InnoDB存储引擎 15.2.1. InnoDB概述 15.2.2. InnoDB联系信息 15.2.3. InnoDB配置 15.2.4. InnoDB启动选项 15.2.5. 创建InnoDB表空间 15.2.6. 创建InnoDB表 15.2.7. 添加和删除InnoDB数据和日志文件 15.2.8. InnoDB数据库的备份和恢复 15.2.9. 将InnoDB数据库移到另一台机器上 15.2.10. InnoDB事务模型和锁定 15.2.11. InnoDB性能调节提示 15.2.12. 多版本的实施 15.2.13. 表和索引结构 15.2.14. 文件空间管理和磁盘I/O 15.2.15. InnoDB错误处理 15.2.16. 对InnoDB表的限制 15.2.17. InnoDB故障诊断与排除 15.3. MERGE存储引擎 15.3.1. MERGE表方面的问题 15.4. MEMORY (HEAP)存储引擎 15.5. BDB (BerkeleyDB)存储引擎 15.5.1. BDB支持的操作系统 15.5.2. 安装BDB 15.5.3. BDB启动选项 15.5.4. BDB表的特性 15.5.5. 修改BDB所需的事宜 15.5.6. 对BDB表的限制 15.5.7. 使用BDB表时可能出现的错误 15.6. EXAMPLE存储引擎 15.7. FEDERATED存储引擎 15.7.1. 安装FEDERATED存储引擎 15.7.2. FEDERATED存储引擎介绍 15.7.3. 如何使用FEDERATED表 15.7.4. FEDERATED存储引擎的局限性 15.8. ARCHIVE存储引擎 15.9. CSV存储引擎 15.10. BLACKHOLE存储引擎 16. 编写自定义存储引擎 16.1. 前言 16.2. 概述 16.3. 创建存储引擎源文件 16.4. 创建handlerton 16.5. 对处理程序进行实例化处理 16.6. 定义表扩展 16.7. 创建表 16.8. 打开表 16.9. 实施基本的表扫描功能 16.9.1. 实施store_lock()函数 16.9.2. 实施external_lock()函数 16.9.3. 实施rnd_init()函数 16.9.4. 实施info()函数 16.9.5. 实施extra()函数 16.9.6. 实施rnd_next()函数 16.10. 关闭表 16.11. 为存储引擎添加对INSERT的支持 16.12. 为存储引擎添加对UPDATE的支持 16.13. 为存储引擎添加对DELETE的支持 16.14. API引用 16.14.1. bas_ext 16.14.2. close 16.14.3. create 16.14.4. delete_row 16.14.5. delete_table 16.14.6. external_lock 16.14.7. extra 16.14.8. info 16.14.9. open 16.14.10. rnd_init 16.14.11. rnd_next 16.14.12. store_lock 16.14.13. update_row 16.14.14. write_row 17. MySQL簇 17.1. MySQL簇概述 17.2. MySQL簇的基本概念 17.3. 多计算机的简单基础知识 17.3.1. 硬件、软件和联网 17.3.2. 安装 17.3.3. 配置 17.3.4. 首次启动 17.3.5. 加载示例数据并执行查询 17.3.6. 安全关闭和重启 17.4. MySQL簇的配置 17.4.1. 从源码创建MySQL簇 17.4.2. 安装软件 17.4.3. MySQL簇的快速测试设置 17.4.4. 配置文件 17.5. MySQL簇中的进程管理 17.5.1. 用于MySQL簇的MySQL服务器进程使用 17.5.2. ndbd,存储引擎节点进程 17.5.3. ndb_mgmd,“管理服务器”进程 17.5.4. ndb_mgm,“管理客户端”进程 17.5.5. 用于MySQL簇进程的命令选项 17.6. MySQL簇的管理 17.6.1. MySQL簇的启动阶段 17.6.2. “管理客户端”中的命令 17.6.3. MySQL簇中生成的事件报告 17.6.4. 单用户模式 17.6.5. MySQL簇的联机备份 17.7. 使用与MySQL簇的高速互连 17.7.1. 配置MySQL簇以使用SCI套接字 17.7.2. 理解簇互连的影响 17.8. MySQL簇的已知限制 17.9. MySQL簇发展的重要历程 17.9.1. MySQL 5.0中的MySQL簇变化 17.9.2. 关于MySQL簇的MySQL 5.1发展历程 17.10. MySQL簇常见问题解答 17.11. MySQL簇术语表 18. 分区 18.1. MySQL中的分区概述 18.2. 分区类型 18.2.1. RANGE分区 18.2.2. LIST分区 18.2.3. HASH分区 18.2.4. KEY分区 18.2.5. 子分区 18.2.6. MySQL分区处理NULL值的方式 18.3. 分区管理 18.3.1. RANGE和LIST分区的管理 18.3.2. HASH和KEY分区的管理 18.3.3. 分区维护 18.3.4. 获取关于分区的信息 19. MySQL中的空间扩展 19.1. 前言 19.2. OpenGIS几何模型 19.2.1. Geometry类的层次 19.2.2. 类Geometry 19.2.3. 类Point 19.2.4. 类Curve 19.2.5. 类LineString 19.2.6. 类Surface 19.2.7. 类Polygon 19.2.8. 类GeometryCollection 19.2.9. 类MultiPoint 19.2.10. 类MultiCurve 19.2.11. 类MultiLineString 19.2.12. 类MultiSurface 19.2.13. 类MultiPolygon 19.3. 支持的空间数据格式 19.3.1. 著名的文本(WKT)格式 19.3.2. 著名的二进制(WKB)格式 19.4. 创建具备空间功能的MySQL数据库 19.4.1. MySQL空间数据类型 19.4.2. 创建空间值 19.4.3. 创建空间列 19.4.4. 填充空间列 19.4.5. 获取空间数据 19.5. 分析空间信息 19.5.1. Geometry格式转换函数 19.5.2. Geometry函数 19.5.3. 从已有Geometry创建新Geometry的函数 19.5.4. 测试几何对象间空间关系的函数 19.5.5. 关于几何最小边界矩形(MBR)的关系 19.5.6. 测试几何类之间空间关系的函数 19.6. 优化空间分析 19.6.1. 创建空间索引 19.6.2. 使用空间索引 19.7. MySQL的一致性和兼容性 19.7.1. 尚未实施的GIS特性 20. 存储程序和函数 20.1. 存储程序和授权表 20.2. 存储程序的语法 20.2.1. CREATE PROCEDURE和CREATE FUNCTION 20.2.2. ALTER PROCEDURE和ALTER FUNCTION 20.2.3. DROP PROCEDURE和DROP FUNCTION 20.2.4. SHOW CREATE PROCEDURE和SHOW CREATE FUNCTION 20.2.5. SHOW PROCEDURE STATUS和SHOW FUNCTION STATUS 20.2.6. CALL语句 20.2.7. BEGIN ... END复合语句 20.2.8. DECLARE语句 20.2.9. 存储程序中的变量 20.2.10. 条件和处理程序 20.2.11. 光标 20.2.12. 流程控制构造 20.3. 存储程序、函数、触发程序和复制:常见问题 20.4. 存储子程序和触发程序的二进制日志功能 21. 触发程序 21.1. CREATE TRIGGER语法 21.2. DROP TRIGGER语法 21.3. 使用触发程序 22. 视图 22.1. ALTER VIEW语法 22.2. CREATE VIEW语法 22.3. DROP VIEW语法 22.4. SHOW CREATE VIEW语法 23. INFORMATION_SCHEMA信息数据库 23.1. INFORMATION_SCHEMA表 23.1.1. INFORMATION_SCHEMA SCHEMATA表 23.1.2. INFORMATION_SCHEMA TABLES表 23.1.3. INFORMATION_SCHEMA COLUMNS表 23.1.4. INFORMATION_SCHEMA STATISTICS表 23.1.5. INFORMATION_SCHEMA USER_PRIVILEGES表 23.1.6. INFORMATION_SCHEMA SCHEMA_PRIVILEGES表 23.1.7. INFORMATION_SCHEMA TABLE_PRIVILEGES表 23.1.8. INFORMATION_SCHEMA COLUMN_PRIVILEGES表 23.1.9. INFORMATION_SCHEMA CHARACTER_SETS表 23.1.10. INFORMATION_SCHEMA COLLATIONS表 23.1.11. INFORMATION_SCHEMA COLLATION_CHARACTER_SET_APPLICABILITY表 23.1.12. INFORMATION_SCHEMA TABLE_CONSTRAINTS表 23.1.13. INFORMATION_SCHEMA KEY_COLUMN_USAGE表 23.1.14. INFORMATION_SCHEMA ROUTINES表 23.1.15. INFORMATION_SCHEMA VIEWS表 23.1.16. INFORMATION_SCHEMA TRIGGERS表 23.1.17. 其他INFORMATION_SCHEMA表 23.2. SHOW语句的扩展 24. 精度数学 24.1. 数值的类型 24.2. DECIMAL数据类型更改 24.3. 表达式处理 24.4. 四舍五入 24.5. 精度数学示例 25. API和库 25.1. libmysqld,嵌入式MySQL服务器库 25.1.1. 嵌入式MySQL服务器库概述 25.1.2. 使用libmysqld编译程序 25.1.3. 使用嵌入式MySQL服务器时的限制 25.1.4. 与嵌入式服务器一起使用的选项 25.1.5. 嵌入式服务器中尚需完成的事项(TODO) 25.1.6. 嵌入式服务器示例 25.1.7. 嵌入式服务器的许可 25.2. MySQL C API 25.2.1. C API数据类型 25.2.2. C API函数概述 25.2.3. C API函数描述 25.2.4. C API预处理语句 25.2.5. C API预处理语句的数据类型 25.2.6. C API预处理语句函数概述 25.2.7. C API预处理语句函数描述 25.2.8. C API预处理语句方面的问题 25.2.9. 多查询执行的C API处理 25.2.10. 日期和时间值的C API处理 25.2.11. C API线程函数介绍 25.2.12. C API嵌入式服务器函数介绍 25.2.13. 使用C API时的常见问题 25.2.14. 创建客户端程序 25.2.15. 如何生成线程式客户端 25.3. MySQL PHP API 25.3.1. 使用MySQL和PHP的常见问题 25.4. MySQL Perl API 25.5. MySQL C++ API 25.5.1. Borland C++ 25.6. MySQL Python API 25.7. MySQL Tcl API 25.8. MySQL Eiffel Wrapper 25.9. MySQL程序开发实用工具 25.9.1. msql2mysql:转换mSQL程序以用于MySQL 25.9.2. mysql_config:获取编译客户端的编译选项 26. 连接器 26.1. MySQL Connector/ODBC 26.1.1. MyODBC介绍 26.1.2. 关于ODBC和MyODBC的一般信息 26.1.3. 如何安装MyODBC 26.1.4. 在Windows平台上从二进制版本安装MyODBC 26.1.5. I在Unix平台上从二进制版本安装MyODBC 26.1.6. 在Windows平台上从源码版本安装MyODBC 26.1.7. 在Unix平台上从源码版本安装MyODBC 26.1.8. 从BitKeeper开发源码树安装MyODBC 26.1.9. MyODBC配置 26.1.10. 与MyODBC连接相关的事宜 26.1.11. MyODBC和Microsoft Access 26.1.12. MyODBC和Microsoft VBA及ASP 26.1.13. MyODBC和第三方ODBC工具 26.1.14. MyODBC通用功能 26.1.15. 基本的MyODBC应用步骤 26.1.16. MyODBC API引用 26.1.17. MyODBC数据类型 26.1.18. MyODBC错误代码 26.1.19. MyODBC与VB:ADO、DAO和RDO 26.1.20. MyODBC与Microsoft.NET 26.1.21. 感谢 26.2. MySQL Connector/NET 26.2.1. 前言 26.2.2. 下载并安装MySQL Connector/NET 26.2.3. Connector/NET体系结构 26.2.4. 使用MySQL Connector/NET 26.2.5. MySQL Connector/NET变更史 26.3. MySQL Connector/J 26.3.1. 基本的JDBC概念 26.3.2. 安装 Connector/J 26.3.3. JDBC引用 26.3.4. 与J2EE和其他Java框架一起使用 Connector/J 26.3.5. 诊断 Connector/J方面的问题 26.3.6. Changelog 26.4. MySQL Connector/MXJ 26.4.1. 前言 26.4.2. 支持平台: 26.4.3. Junit测试要求 26.4.4. 运行Junit测试 26.4.5. 作为JDBC驱动程序的一部分运行 26.4.6. 在Java对象中运行 26.4.7. MysqldResource API 26.4.8. 在JMX代理(custom)中运行 26.4.9. 部署在标准的JMX代理环境下 (JBoss) 26.4.10. 安装 27. 扩展MySQL 27.1. MySQL内部控件 27.1.1. MySQL线程 27.1.2. MySQL测试套件 27.2. 为MySQL添加新函数 27.2.1. 自定义函数接口的特性 27.2.2. CREATE FUNCTION/DROP FUNCTION语法 27.2.3. 添加新的自定义函数 27.2.4. 添加新的固有函数 27.3. 为MySQL添加新步骤 27.3.1. 步骤分析 27.3.2. 编写步骤 A. 问题和常见错误 A.1. 如何确定导致问题的原因 A.2. 使用MySQL程序时的常见错误 A.2.1. 拒绝访问 A.2.2. 无法连接到[local] MySQL服务器 A.2.3. 客户端不支持鉴定协议 A.2.4. 输入密码时出现密码错误 A.2.5. 主机的host_name被屏蔽 A.2.6. 连接数过多 A.2.7. 内存溢出 A.2.8. MySQL服务器不可用 A.2.9. 信息包过大 A.2.10. 通信错误和失效连接 A.2.11. 表已满 A.2.12. 无法创建文件/写入文件 A.2.13. 命令不同步 A.2.14. 忽略用户 A.2.15. 表tbl_name不存在 A.2.16. 无法初始化字符集 A.2.17. 文件未找到 A.3. 与安装有关的事宜 A.3.1. 与MySQL客户端库的链接问题 A.3.2. 如何以普通用户身份运行MySQL A.3.3. 与文件许可有关的问题 A.4. 与管理有关的事宜 A.4.1. 如何复位根用户密码 A.4.2. 如果MySQL依然崩溃,应作些什么 A.4.3. MySQL处理磁盘满的方式 A.4.4. MySQL将临时文件储存在哪里 A.4.5. 如何保护或更改MySQL套接字文件/tmp/mysql.sock A.4.6. 时区问题 A.5. 与查询有关的事宜 A.5.1. 搜索中的大小写敏感性 A.5.2. 使用DATE列方面的问题 A.5.3. 与NULL值有关的问题 A.5.4. 与列别名有关的问题 A.5.5. 非事务表回滚失败 A.5.6. 从相关表删除行 A.5.7. 解决与不匹配行有关的问题 A.5.8. 与浮点比较有关的问题 A.6. 与优化器有关的事宜 A.7. 与表定义有关的事宜 A.7.1. 与ALTER TABLE有关的问题 A.7.2. 如何更改表中的列顺序 A.7.3. TEMPORARY TABLE问题 A.8. MySQL中的已知事宜 A.8.1. MySQL中的打开事宜 B. 错误代码和消息 B.1. 服务器错误代码和消息 B.2. 客户端错误代码和消息 C. 感谢 C.1. MySQL AB处的开发人 C.2. MySQL贡献人 C.3. 资料员和译员 C.4. MySQL使用和包含的库 C.5. 支持MySQL的软件包 C.6. 用于创建MySQL的工具 C.7. MySQL支持人员 D. MySQL变更史 D.1. 5.1.x版中的变更情况(开发) D.1.1. 5.1.2版中的变更情况(尚未发布) D.1.2. 5.1.1版中的变更情况(尚未发布) D.2. MyODBC的变更情况 D.2.1. MyODBC 3.51.12的变更情况 D.2.2. MyODBC 3.51.11的变更情况 E. 移植到其他系统 E.1. 调试MySQL服务器 E.1.1. 针对调试编译MySQL E.1.2. 创建跟踪文件 E.1.3. 在gdb环境下调试mysqld E.1.4. 使用堆栈跟踪 E.1.5. 使用日志文件找出mysqld中的错误原因 E.1.6. 如果出现表崩溃,请生成测试案例 E.2. 调试MySQL客户端 E.3. DBUG软件包 E.4. 关于RTS线程的注释 E.5. 线程软件包之间的差异 F. 环境变量 G. MySQL正则表达式 H. MySQL中的限制 H.1. 联合的限制 I. 特性限制 I.1. 对存储子程序和触发程序的限制 I.2. 对服务器端光标的限制 I.3. 对子查询的限制 I.4. 对视图的限制 I.5. 对XA事务的限制 J. GNU通用公共许可 K. MySQL FLOSS许可例外 索引 图形清单 14.1. MySQL插件式存储引擎的体系结构 14.2. 存储引擎比较 16.1. MySQL体系结构 表格清单 26.1. 连接属性 26.2. 转换表 26.3. 用于ResultSet.getObject()的MySQL类型和Java类型 26.4. MySQL对Java编码名称的翻译 示例清单 26.1. 从DriverManager获得连接 26.2. 使用java.sql.Statement执行SELECT查询 26.3. 存储程序示例 26.4. 使用Connection.prepareCall() 26.5. 注册输出参数 26.6. 设置CallableStatement输入参数 26.7. 检索结果和输出参数值 26.8. 使用Statement.getGeneratedKeys()检索AUTO_INCREMENT列的值 26.9. 使用SELECT LAST_INSERT_ID()检索AUTO_INCREMENT列的值 26.10. 在可更新的ResultSets中检索AUTO_INCREMENT列的值 26.11. 设置Unix环境下的CLASSPATH 26.12. 与J2EE应用服务器一起使用连接池 26.13. 重试逻辑的事务示例
-
下载
阿里巴巴数字经济体90后生产力报告.pdf
阿里巴巴数字经济体90后生产力报告.pdf
-
下载
2019全球航空安全状况(英文版).pdf
2019全球航空安全状况(英文版).pdf
-
下载
家电行业工业工业互联网智能工厂解决方案.pptx
家电行业工业工业互联网智能工厂解决方案.pptx
-
下载
2020美妆行业发展趋势洞察.pdf
2020美妆行业发展趋势洞察.pdf
-
下载
criteo_sampled_data.csv
criteo_sampled_data.csv
-
下载
2019年美国移动游戏市场及用户行为调查报告.pdf
2019年美国移动游戏市场及用户行为调查报告.pdf
-
下载
《数据科学教育白皮书》和鲸科技-TDU-AWS-Datawhale.pdf
《数据科学教育白皮书》和鲸科技-TDU-AWS-Datawhale.pdf
-
下载
2019创新为老服务趋势报告.pdf
2019创新为老服务趋势报告.pdf
-
下载
中国“区块链+供应链金融”行业研究报告.pdf
中国“区块链+供应链金融”行业研究报告.pdf
-
下载
canvas-黑点星星
canvas-黑点星星
