新書推薦:
《
心智的构建:大脑如何创造我们的精神世界
》
售價:HK$
79.4
《
美国小史(揭秘“美国何以成为美国”,理解美国的经典入门读物)
》
售價:HK$
79.4
《
中国古代北方民族史丛书——东胡史
》
售價:HK$
87.8
《
巨人传(插图珍藏本)
》
售價:HK$
705.6
《
地下(村上春树沙林毒气事件的长篇纪实)
》
售價:HK$
74.8
《
偿还:债务与财富的阴暗面
》
售價:HK$
78.2
《
清华大学藏战国竹简校释(壹):《命训》诸篇
》
售價:HK$
92.0
《
封建社会农民战争问题导论(光启文库)
》
售價:HK$
66.7
|
編輯推薦: |
一本言简意赅、系统讲解Python编程基础、科学计算、数据分析的自学教程。
源自网上广受好评的“中文python笔记”,知乎 “如何系统地自学 Python?”千万访问量答主自学Python的经验总结。
特别总结了Python多版本代码差异对比,配备全套数据集、源代码,方便使用者参考。
|
內容簡介: |
本书是面向Python学习者和使用者的一本实用学习笔记,在前一版的基础之上进行了全面修订。全书共11章。第1章介绍Python的基础知识,包括Anaconda、IPython解释器、Jupyter Notebook等Python基本工具的使用;第2章介绍Python的基本用法,包括基础语法、数据类型、判断与循环、函数与模块、异常与警告、文件读写、内置函数;第3章介绍Python的进阶用法,包括函数进阶、迭代器与生成器、装饰器、上下文管理器与with语句、变量作用域;第4章介绍Python面向对象编程,包括对象的方法与属性、继承与复用;第5章介绍常见的Python标准库;第6章介绍Python科学计算基础模块NumPy,包括NumPy数组的操作、广播机制、索引和读写;第7章介绍Python数据可视化模块Matplotlib,包括基于函数和对象的可视化操作;第8章介绍Python科学计算进阶模块SciPy,包括概率、线性代数等模块;第9章介绍Python数据分析基础模块Pandas,包括Series和DataFrame的使用;第10章介绍一个用Python分析中文小说文本的案例;第11章介绍一个用Python对手写数字进行机器学习处理的案例。
本书适合刚接触Python的初学者以及希望使用Python处理和分析数据的读者阅读,也可作为学习和使用Python的工具书或参考资料使用。
|
關於作者: |
李金,清华自动化系硕士,阿里巴巴负责广告推荐的算法专家,知乎达人,其在知乎上的高分问答“如何系统地自学 Python?”阅读量达4000万,在Github上的“中文python笔记”也广受国内外读者好评。
|
目錄:
|
第1章 初识Python1
1.1 人生苦短,我用Python1
1.1.1 Python简介1
1.1.2 版本的选择2
1.2 安装Python环境2
1.2.1 集成开发环境:Anaconda2
1.2.2 第一行Python代码3
1.3 使用Python工具4
1.3.1 IPython解释器4
1.3.2 代码的运行模式:解释器模式与
脚本模式6
1.3.3 学习工具:Jupyter Notebook8
1.4 本章学习笔记9
第2章 Python基础10
2.1 基础语法简介10
2.2 数据类型16
2.2.1 数字16
2.2.2 字符串20
2.2.3 索引与分片27
2.2.4 列表29
2.2.5 元组34
2.2.6 可变与不可变类型36
2.2.7 字典37
2.2.8 集合与不可变集合41
2.2.9 赋值机制44
2.3 判断与循环49
2.3.1 判断49
2.3.2 循环53
2.4 函数与模块58
2.4.1 函数58
2.4.2 模块61
2.5 异常与警告65
2.5.1 异常65
2.5.2 警告70
2.6 文件读写71
2.6.1 读文件71
2.6.2 写文件72
2.7 内置函数74
2.7.1 数字相关的内置函数74
2.7.2 序列相关的内置函数75
2.7.3 其他内置函数76
2.8 本章学习笔记76
第3章 Python进阶80
3.1 函数进阶80
3.1.1 函数参数与返回值80
3.1.2 高阶函数82
3.1.3 map()函数和filter()函数83
3.1.4 Lambda表达式84
3.1.5 关键字global85
3.1.6 函数的递归86
3.2 迭代器与生成器87
3.2.1 迭代器87
3.2.2 生成器91
3.3 装饰器93
3.3.1 装饰器的引入93
3.3.2 装饰器的用法95
3.4 上下文管理器与with语句98
3.4.1 上下文管理器的引入98
3.4.2 上下文管理器的原理99
3.5 变量作用域103
3.6 本章学习笔记105
第4章 Python面向对象编程107
4.1 面向对象简介107
4.2 自定义类型109
4.3 方法与属性111
4.4 继承与复用115
4.5 公有、私有、特殊以及静态的
方法与属性118
4.6 多重继承120
4.7 本章学习笔记121
第5章 Python标准库123
5.1 系统相关:sys模块123
5.2 与操作系统进行交互:os模块125
5.3 正则表达式:re模块128
5.4 日期时间相关:datetime模块132
5.5 读写JSON数据:json模块134
5.6 文件模式匹配:glob模块137
5.7 高级文件操作:shutil模块138
5.8 数学:math模块139
5.9 随机数:random模块140
5.10 路径操作:pathlib模块141
5.11 网址URL相关:urllib模块142
5.12 实例:使用标准库实现桌面
墙纸下载143
5.13 本章学习笔记146
第6章 Python科学计算基础:
NumPy模块149
6.1 NumPy模块简介149
6.2 数组基础150
6.2.1 数组的引入150
6.2.2 数组的属性151
6.2.3 数组的类型152
6.2.4 数组的生成155
6.2.5 数组的索引157
6.2.6 数组的迭代159
6.3 数组操作160
6.3.1 数值相关的数组操作160
6.3.2 形状相关的数组操作163
6.3.3 数组的连接操作168
6.3.4 数组的四则运算和点乘171
6.3.5 数组的数学操作172
6.3.6 数组的比较和逻辑操作173
6.4 数组广播机制174
6.5 数组索引进阶176
6.5.1 数组的基础索引176
6.5.2 数组的高级索引178
6.6 数组读写180
6.6.1 数组的读取180
6.6.2 数组的写入181
6.6.3 数组的二进制读写182
6.7 随机数组183
6.8 实例:使用NumPy实现K近邻
查找184
6.9 本章学习笔记185
第7章 Python数据可视化:
Matplotlib模块187
7.1 Matplotlib模块简介187
7.2 基于函数的可视化操作187
7.2.1 plt.plot()函数的使用187
7.2.2 图与子图193
7.3 基于对象的可视化操作194
7.4 图像中的文本处理195
7.5 实例:基于Matplotlib的三角
函数可视化197
7.6 本章学习笔记200
第8章 Python科学计算进阶:
SciPy模块202
8.1 SciPy模块简介202
8.2 插值模块:scipy.interpolate202
8.3 概率统计模块:scipy.stats206
8.3.1 基本统计量206
8.3.2 概率分布206
8.4 优化模块:scipy.optimize214
8.4.1 数据拟合214
8.4.2 值优化218
8.4.3 方程求根220
8.5 线性代数模块:scipy.linalg221
8.6 实例:基于SciPy的主成分
分析227
8.7 本章学习笔记230
第9章 Python数据分析基础:
Pandas模块232
9.1 Pandas模块简介232
9.2 一维数据结构:Series对象232
9.2.1 Series对象的生成233
9.2.2 Series对象的使用235
9.3 二维数据结构:DataFrame
对象238
9.3.1 DataFrame对象的生成238
9.3.2 DataFrame对象的使用240
9.4 Pandas对象的索引242
9.4.1 基于中括号的索引和切片242
9.4.2 基于位置和标记的高级索引245
9.5 缺失值的处理248
9.6 数据的读写250
9.7 实例:基于Pandas的期货
数据分析251
9.8 本章学习笔记256
第10章 Python案例1:中文小说
分析257
10.1 数据预处理257
10.2 数据统计259
10.3 数据建模263
10.4 效果分析265
10.5 本章学习笔记271
第11章 Python案例2:手写数字
分析273
11.1 数据的获取与处理273
11.2 数据建模和效果分析275
11.3 本章学习笔记277
|
內容試閱:
|
“人生苦短,我用Python。”
Python是一门越来越流行的编程语言,它免费、易学,而且功能强大,在网络编程、图像用户界面编程、科学计算、数据挖掘、机器学习、人工智能等方面都有着广泛的应用。
我在一年多的时间里,通过自学,从一个Python“小白”成长为一个Python“老手”,在这个过程中,用笔记的形式记录了自己学习和使用Python的经验。根据这段经历,于2019年出版了本书的第1版(基于Python 2.7版本)。
经过数年的时间,这个学习笔记依然有着不小的阅读量:在知乎的高分问答“如何系统地自学 Python?”阅读量达到千万量级(https://www.zhihu.com/question/29138020/answer/81972368),GitHub上的学习笔记的Star达6300以上,Fork达2900以上(https://github.com/lijin-THU/notes-python)。
由于对Python的学习、应用需求与日俱增,并且Python 3已成为主流,所以我对第1版的内容进行了大量的修改,升级改版为基于Python 3的自学笔记,相信会对开始学习并使用Python的朋友有所帮助。
本书的集成开发环境是Anaconda,它是一个功能强大的Python计算环境。本书利用IPython解释器、Jupyter Notebook等工具开展Python编程的实践。
本书首先介绍了Python工具的使用、Python基础和进阶用法、面向对象编程,为读者打下良好的基础:优秀的工具能帮助读者更有效地学习和使用Python;基础和进阶用法能让读者对Python的用法有一些基本的认知;面向对象编程可以让读者了解一些基础的设计模式。
接下来,本书介绍了一些关键的Python模块,这些模块包括Python标准库中的自带模块,以及NumPy、Matplotlib、SciPy、Pandas等最常用的模块。这些模块提供了强大的功能:标准库模块提供了处理编程常见问题的工具,NumPy模块提供了科学计算的基础类型—数组,Matplotlib模块可以对数据进行可视化,SciPy模块可以进行概率、线性代数等的操作,而Pandas模块则提供了数据分析的基本功能。
最后,本书详细讲解了两个用Python进行数据分析与机器学习编程的实例,通过这两个例子,读者可以了解数据分析和机器学习的一些基本流程。
本书基于学习笔记而来,内容更贴近实际,例子也简单易懂。除了介绍Python的用法,本书还加入了很多原理上的解释,并辅以实例进行说明。因此,与其他Python书籍相比,本书不仅具有知其然的功能,还具有知其所以然的特点,从而能更好地帮助Python初学者进行自学。
本书使用Python 3版本。考虑到书中涉及模块的功能可能会随版本更新而改变,因此,本书主要介绍各个模块的核心功能,对于一些细节用法不做过多介绍。
特别地,结合我学习工作以来遇到的实际情况,虽然Python 2已经不再被维护,但一些企业和项目由于历史原因仍然保留了许多用Python 2编写的代码。为了方便广大读者在实际工作学习中阅读和运维基于Python 2的代码,本书将Python 2与Python 3的一些核心区别标注出来,以便读者掌握。
本书配备有全套案例数据集、源代码,可通过扫描关注机械工业出版社计算机分社官方微信公众号—IT有得聊,回复XXXXX即可获取。
致谢
本书基于很多资料和知识整理汇集而成,因此,我不可能完全统计出所有对本书的内容做出贡献的人士。在这里,我向所有贡献者们致以最诚挚的谢意。
我要感谢我的家人,他们默默的支持,是我最坚实的后盾。
我要感谢我的导师张长水教授,他严谨的教导,是我终生受益的财富。
我要感谢我的朋友蒋楠、胡捷、王磊和潘伟燊,没有他们的真诚鼓励,我也不会坚持记完我的笔记。
我还要感谢机工社的编辑王斌(IT大公鸡),有了他的鼎力相助,才有了这本书的成型与出版。
机缘巧合促成了这本书的诞生,这也必将成为我一生中最宝贵的经历。非常希望本书能够对正踏上Python学习之路的朋友有所帮助!
李金
2022.3.27
|
|