编辑推荐
适读人群 :程序员,科研人员,编程爱好者,大数据处理人员 Python是当前非常热门的编程语言和大数据处理工具。本书全面介绍了Python应用的各个方面,覆盖了当前Python的主流应用。各章独立性较强,读者可从本书的任何一章开始阅读,并且立即将所学知识应用到工作实践中。
内容简介
Python是一门强大、快捷的编程语言。本书采用了即学即用的方式讲解Python.全书主要包含Python语言知识以及大数据使用的numpy、pandas、pytables;Web编程框架web.py;操作postgresql数据库。读者在学完一章的基础知识之后,可继续研读本章的高级话题,从而达到立即应用的目的。本书特别适合软件开发人员和数据分析工程师阅读,也可用于高等院校计算机教学。
目录
出版说明
前言
第 1 章 绪论 1
1.1 Python 的特点 1
1.1.1 为何适应各种用户需求 2
1.1.2 胶水特点 2
1.1.3 语言特点 2
1.1.4 语法风格 3
1.1.5 多平台 5
1.1.6 丰富的支持 5
1.2 Python 版本与集成包 5
1.3 Python 的下载与安装 6
1.3.1 下载 Python 6
1.3.2 Python 在 Windows 下的安装 6
1.3.3 Anaconda 8
1.4 python 的 IDE 9
1.4.1 IDLE 9
1.4.2 PyCharm 9
1.4.3 Spyder 10
1.4.4 其他 IDE 11
1.5 软件包的安装方法 11
1.5.1 easy_install 12
1.5.2 pip 12
1.6 高级话题:Matplotlib 13
1.6.1 Matplotlib 特点 13
1.6.2 Matplotlib 绘图 13
1.6.3 用 Matplotlib 绘制股票历史 K 线图 15
1.7 小结 17
第 2 章 数据类型 18
2.1 数字数据类型 18
2.1.1 布尔型 bool 19
2.1.2 基本整型 int 20
2.1.3 长整型 20
2.1.4 双精度浮点型 float 21
2.1.5 十进制浮点型 Decimal 21
2.1.6 复数 Complex 22
2.1.7 数字运算符 23
2.1.8 数字类型函数 24
2.2 序列 26
2.2.1 字符串 28
2.2.2 列表 39
2.2.3 元组 45
2.3 字典 48
2.3.1 字典创建 48
2.3.2 字典访问 49
2.3.3 字典相关函数 51
2.4 高级话题:NumPy 54
2.4.1 NumPy 数组与 Python 列表的区别 54
2.4.2 NumPy 数据类型 55
2.5 小结 57
第 3 章 控制流程与运算 58
3.1 选择结构 58
3.1.1 单分支结构 58
3.1.2 双分支结构 59
3.1.3 多分支结构 60
3.1.4 条件表达式 62
3.2 循环结构 62
3.2.1 while 语句 62
3.2.2 for 语句 65
3.3 高级话题:NumPy 的数组操作 70
3.3.1 创建数组 70
3.3.2 索引和切片 71
3.3.3 数组对象的属性 72
3.3.4 数组和标量之间的运算 73
3.3.5 数组的转置 74
3.3.6 通用函数 74
3.3.7 统计方法 75
3.3.8 集合运算 76
3.3.9 随机数 76
3.3.10 排序 77
3.3.11 线性代数 78
3.3.12 访问文件 78
3.4 小结 79
第 4 章 函数与函数式编程 80
4.1 函数 80
4.1.1 定义函数 80
4.1.2 函数调用 82
4.1.3 内部/内嵌函数 82
4.2 函数参数 83
4.2.1 标准化参数 83
4.2.2 可变数量的参数 86
4.2.3 函数传递 89
4.3 装饰器 90
4.3.1 无参数装饰器 90
4.3.2 带参数装饰器 93
4.4 函数式编程 94
4.4.1 lambda 表达式 94
4.4.2 内建函数 map、filter 、reduce 96
4.4.3 偏函数应用 98
4.5 变量作用域 99
4.5.1 全局变量和局部变量 99
4.5.2 global 语句 100
4.5.3 闭包与外部作用域 101
4.6 递归 102
4.7 生成器 102
4.8 高级话题:SciPy 104
4.8.1 傅里叶变换 105
4.8.2 滤波 107
4.9 小结 109
第 5 章 文件 110
5.1 磁盘文件 110
5.1.1 打开、关闭磁盘文件 110
5.1.2 写文件 112
5.1.3 读文件 114
5.1.4 文件指针操作 116
5.2 StringIO 类文件 116
5.3 文件系统操作 120
5.3.1 os 模块 120
5.3.2 os.path 模块 124
5.3.3 shutil 模块 127
5.4 高级话题:Python 读写 Excel 文件 130
5.4.1 xlwt 库 130
5.4.2 xlrd 库 133
5.4.3 xlutils 库 134
5.4 小结 135
第 6 章 模块包 136
6.1 模块 136
6.1.1 搜索路径 136
6.1.2 导入模块 137
6.1.3 导入指定的模块属性 137
6.1.4 加载模块 138
6.1.5 名称空间 138
6.1.6 “编译的”Python 文件 139
6.1.7 自动导入模块 139
6.1.8 循环导入 139
6.2 包 141
6.3 高级话题:程序打包 142
6.3.1 Distutils 142
6.3.2 py2exe 144
6.4 小结 144
第 7 章 类 145
7.1 基本概念 145
7.2 类定义 146
7.3 实例 148
7.3.1 创建实例 148
7.3.2 初始化 149
7.3.3 _dict_属性 151
7.3.4 特殊方法 152
7.4 继承 155
7.5 多态 158
7.6 可见性 159
7.7 python 类中的属性 160
7.8 高级话题:抽象基类 163
7.9 小结 166
第 8 章 数据库 167
8.1 DB-API2.0 167
8.2 Psycopg 2 170
8.3 MySQL 173
8.4 高级话题:ORM 175
8.5 小结 178
第 9 章 网络编程 179
9.1 网络基础 179
9.2 CGI 182
9.2.1 CGI 模块 182
9.2.2 WSGI 183
9.3 高级话题:Flask 184
9.3.1 Flask 简介 184
9.3.2 Flask-SQLAlchemy 185
9.3.3 Flask-WTF 186
9.3.4 Jinja2 187
9.3.5 用 Matplotlib 与 Flask 显示动态图片 189
9.3.6 Flask-Script 190
9.3.7 Flask 程序运行 191
9.4 小结 192
第 10 章 正则表达式 193
10.1 Python 的正则表达式语法 193
10.2 re 模块 195
10.2.1 Python 正则表达式用法 195
10.2.2 编译一个模式 197
10.2.3 模式替换 198
10.3 高级话题:Beautiful Soup 198
10.4 小结 202
第 11 章 图形用户界面编程 203
11.1 Tkinter 203
11.1.1 Tkinter 组件 203
11.1.2 Tkinter 回调、绑定 206
11.1.3 Matplotlib 应用于 Tkinter 208
11.2 高级话题:PyQt 210
11.2.1 PyQt 介绍 210
11.2.2 PyQt 的事件 214
11.2.3 PyQt 的 ToDo 实例 215
11.3 小结 219
第 12 章 大数据的利器 220
12.1 JSON 220
12.1.1 JSON 格式定义 220
12.1.2 simplejson 库 221
12.1.3 通过 JSON 读取汇率 226
12.2 XML 227
12.2.1 XML 基本定义 227
12.2.2 LXML 库使用 228
12.2.3 通过 XML 读取新浪和人民网的 RSS 229
12.3 HDF5 229
12.3.1 HDF5 格式定义 229
12.3.2 PyTables 使用 230
12.4 pandas 232
12.4.1 pandas 介绍 232
12.4.2 pandas 的 Series 232
12.4.3 DataFrame 的创建 234
14.4.4 DataFrame 的索引访问 235
12.4.5 DataFrame 的数据赋值 239
12.4.6 DataFrame 的基本运算 239
12.4.7 pandas 的 IO 操作 240
12.4.8 pandas 读取 EIA 的原油价格 241
12.5 小结 243
附录 244
附录 A Python 编译安装 244
附录 B Virtualenv Python 虚拟环境 246
附录 C Python 2 还是 Python 3 248
附录 D 科学家的 Python 252
附录 E 无处不在的 Python 253
前言/序言
Python 是一种面向对象、解释型计算机程序设计语言,其语法简洁清晰、易于学习,几乎可以在所有的操作系统下运行。Python 常被称为“胶水”语言,因为它能够把不同语言编写的各个模块轻松地组织在一起,从而将众多的优秀 Fortran 和 C 语言库集成到 Pyhton 环境下,帮助开发者处理各种工作。Python 的优秀特性决定了其在实际应用中的广泛性,在很多领域如快速原型开发、网络服务器脚本、科学计算、文档处理、数据库编程、嵌入开发、GUI开发、游戏开发和移动开发中均有广泛应用。目前 Python 语言越来越受到重视,并已有大量成功的案例,如 YouTube(视频分享网站)、豆瓣(社区网站)、OpenStack(云计算平台)和Tornado(Web 服务器)等都是基于Python 开发的。
本书既介绍了 Python 的基础知识,也介绍了很多 Python 的高级话题,并附有实例,是一本即学即用的书。本书首先介绍了 Python 的数据类型、编程语法、函数、类和模块等基础知识,然后介绍了 Python 在网络、数据库、正则表达式和大数据方面的应用。本书每一章的最后都介绍了与该章内容相关的高级话题,这些高级话题可直接在数据处理、网站开发和数据库管理等领域使用,使得读者每学习一章即可通过该章内容解决工作、科研中的实际问题,充分体现了即学即用特点,突破了以往必须将书读完才能用于实战的思路。高级话题涵盖了大数据分析用的 NumPy、SciPy、PyTables 和 pandas 等工具,讲解了如何采集数据以及如何为调研报告生成漂亮的图表等内容。书中的案例采用实际项目使用的小测试案例,具有极强的实用性。
本书使用 Anaconda Python 作为开发环境。Anaconda 是 Python 的科学技术包的合集,包含了大量的科学计算包,如 NumPy、SicPy 和 Matplotlib 等,并支持 Windows、Linux、OS X环境。相比其他 Python 集成开发环境,Anaconda 不仅支持 Python 2.X,而且支持 Python 3.X的科学计算包。可从 Anaconda 的官网(https://www.continuum.io/downloads)下载相应版本的 Anaconda。如果 Anaconda 未包含书中所用的模块,可参考第 1 章介绍的 pip 和 easy_install的方法安装相应模块。
本书的第 6 章由张秀凤编写,第 10 章由丁维才编写,其余内容由本人编写。写书过程中,经常忽视女儿的好玩天性,没能很好地陪伴女儿,心有愧疚。谨以此书献给我的女儿和所有关心支持我的人。
张燕妮
Python即学即用 电子书 下载 mobi epub pdf txt