推荐一些python学习的书籍,python入门新手必看,少走一半弯路

前言

市面上的python图书真的是太多啦,对于刚接触到python的小白是真的很不友好,这里分享几点学习心得和一份精选书单,希望能够帮到想学习python的你。

自己给自己定一个进阶目标。在学python基础的时候,最好有一个进阶目标。比如以后想做爬虫?还是数据分析?还是拿来搞量化?这样才有针对性学习。

下面是我的推荐书单:

1.python入门书单

《Python编程:从入门到实践》 适合人群:新手小白

这是一本针对所有层次的Python读者而作的Python入门书。

全书分两部分:

首部分介绍用Python 编程所必须了解的基本概念,包括matplotlib、NumPy和Pygal等强大的Python库和工具介绍,以及列表、字典、if语句、类、文件与异常、代码测试等内容;

第二部分将理论付诸实践,讲解如何开发三个项目,包括简单的Python 2D游戏开发,如何利用数据生成交互式的信息图,以及创建和定制简单的Web应用,并帮读者解决常见编程问题和困惑。


2.网络爬虫方向

(1).《Python编程快速上手 第二版》适合人群:新手小白

本书不仅介绍了Python语言的基础知识,而且通过案例实践教读者如何使用这些知识和技能

                        

第一部分介绍了基本的Python编程概念第二部分介绍了一些不同的任务,通过编写Python程序,可以让计算机自动完成它们。第二部分的每一章都有一些项目程序供读者学习。每章的末尾还提供了一些习题和深入的实践项目,帮助读者巩固所学的知识。附录部分提供了所有习题的解答。


(2).《Python网络数据采集》适合人群:有基础者

本书采用简洁强大的Python语言,介绍了网络数据采集,并为采集新式网络中的各种数据类型提供了全面的指导。

第一部分重点介绍网络数据采集的基本原理:如何用Python从网络服务器请求信息,如何对服务器的响应进行基本处理,以及如何以自动化手段与网站进行交互。

第二部分介绍如何用网络爬虫测试网站,自动化处理,以及如何通过更多的方式接入网络。


3、数据分析方向

(1).《利用Python进行数据分析》适合人群:有基础者

这本书关注的是利用Python操作、处理、清洗和操作数据时的基本要点。目标是提供一份Python编程语言以及Python面向数据的类库生态系统和工具的指南。

从pandas库的数据分析工具开始利用高性能工具对数据进行加载、清理、转换、合并以及重塑;利用matpIotlib创建散点图以及静态或交互式的可视化结果;利用pandas的groupby功能对数据集进行切片、切块和汇总操作;处理各种各样的时间序列数据。

《利用Python进行数据分析》适合刚刚接触Python的分析人员以及刚刚接触科学计算的Python程序员。将IPython这个交互式Shell作为你的首要开发环境。


(2).《Python数据分析基础教程》适用人群:新手小白

NumPy是一个优秀的科学计算库,提供了很多实用的数学函数、强大的多维数组对象和优异的计算性能,不仅可以取代Matlab和Mathematica的许多功能,而且业已成为Python科学计算生态系统的重要组成部分。
 

 本书从NumPy安装讲起,逐渐过渡到数组对象、常用函数、矩阵运算、线性代数、金融函数、窗函数、质量控制等内容,致力于向初中级Python编程人员全面讲述NumPy及其使用。另外,通过书中丰富的示例,你还将学会Matplotlib绘图,并结合使用其他Python科学计算库(如SciPy和Scikits),让工作更有成效,让代码更加简洁而高效。

>主要内容:

在不同平台安装NumPy;

用简洁高效的NumPy代码实现高性能计算;

使用功能强大的通用函数;

使用NumPy数组和矩阵;

用NumPy模块轻松执行复杂的数值计算;

Matplotlib绘图;

NumPy代码测试。


 4、前端开发方向

《JavaScript高级程序设计(第4版)》适合人群:有基础者

本书是JavaScript经典图书的新版。第4版涵盖ECMAScript 2019,全面、深入地介绍了JavaScript开发者必须掌握的前端开发技术,涉及JavaScript的基础特性和高级特性。

书中详尽讨论了JavaScript的各个方面,从JavaScript的起源开始,逐步讲解到新出现的技术,其中重点介绍ECMAScript和DOM标准。

在此基础上,接下来的各章揭示了JavaScript的基本概念,包括类、期约、迭代器、代理,等等。另外,书中深入探讨了客户端检测、事件、动画、表单、错误处理及JSON。本书同时也介绍了近几年来涌现的重要新规范,包括Fetch API、模块、工作者线程、服务线程以及大量新API。


5、后端开发方向

(1).《图解HTTP》 适合人群:有基础者

本书对互联网基盘——HTTP协议进行了全面系统的介绍。作者由HTTP协议的发展历史娓娓道来,严谨细致地剖析了HTTP协议的结构,列举诸多常见通信场景及实战案例,最后延伸到Web安全、最新技术动向等方面。

本书的特色为在讲解的同时,辅以大量生动形象的通信图例,更好地帮助读者深刻理解HTTP通信过程中客户端与服务器之间的交互情况。
读者可通过本书快速了解并掌握HTTP协议的基础,前端工程师分析抓包数据,后端工程师实现REST API、实现自己的HTTP服务器等过程中所需的HTTP相关知识点本书均有介绍。 


(2).《SQL必知必会》适合人群:有基础者,SQL兴趣

《SQL必知必会》SQL是目前使用最为广泛的数据库语言之一。

本书没有涉及理论,而是从实践出发,由浅入深地讲解了广大读者所必需的SQL知识,适用于各种主流数据库。实例丰富,便于查阅。本书涉及不同平台上数据的排序、过滤和分组,以及表、视图、联结、子查询、游标、存储过程和触发器等内容,通过本书读者可以系统地学习到SQL的知识和方法。


(3).《高性能MySQL 第三版》 适合人群:有基础者,MySQL兴趣

《高性能MySQL》是分享MySQL实用经验的图书。它不但可以帮助MySQL初学者提高使用技巧,更为有经验的MySQL DBA指出了开发高性能MySQL应用的途径。

高性能mysql(第3版)》是mysql 领域的经典之作,拥有广泛的影响力。第3 版更新了大量的内容,不但涵盖了最新mysql 5.5版本的新特性,也讲述了关于固态盘、高可扩展性设计和云计算环境下的数据库相关的新内容,原有的基准测试和性能优化部分也做了大量的扩展和补充。

全书共分为16 章和6 个附录,内容涵盖mysql 架构和历史,基准测试和性能剖析,数据库软硬件性能优化,复制、备份和恢复,高可用与高可扩展性,以及云端的mysql 和mysql相关工具等方面的内容。每一章都是相对独立的主题,读者可以有选择性地单独阅读。


6、自动化测试方向

(1).《Selenium3自动化测试实战——基于Python语言》 适合人群:新手小白

本书的写作目的并不是简单地告诉读者如何使用一个自动化测试工具,而是希望读者在学习本书的内容后能够提升技术高度、拓展技术宽度,从而摆脱简单的手工测试,向高级测试工程师迈进。

《Selenium3自动化测试实战——基于Python语言》共分 14章

>第 1章介绍了自动化测试相关的基础知识。

>第 2章到第 10章是本书的重点,从环境搭建,到 WebDriver API介绍,再到单元测试框架的使用,循序渐进地介绍了自动化测试所用到的知识,最后再通过项目将这些知识串联起来。

>第 11章详细介绍了如何使用 Jenkins配置自动化测试项目。

>第 12章到第 14章介绍了移动自动化测试工具 appium的使用。


(2).《pytest测试实战》 适合人群:有基础者

作者通过丰富的测试实例,手把手教读者编写简洁、易于维护的测试代码和插件,让你轻松掌握这个业界最受欢迎的Python测试工具。

 pytest是动态编程语言Python专用的测试框架,它具有易于上手、功能强大、第三方插件丰富、效率高、可扩展性好、兼容性强等特点。《pytest测试实战》深入浅出地讲解了pytest的使用方法,尤其是具有特色的fixture的用法。


7、机器学习和人工智能方向

(1).《Python深度学习》 适合人群:新手小白且数学基础好

本书由Keras之父、现任Google人工智能研究员的弗朗索瓦•肖莱(François Chollet)执笔,详尽介绍了用Python和Keras进行深度学习的探索实践,包括计算机视觉、自然语言处理、产生式模型等应用。


书中包含30多个代码示例,步骤讲解详细透彻。由于本书立足于人工智能的可达性和大众化,读者无须具备机器学习相关背景知识即可展开阅读。在学习完本书后,读者将具备搭建自己的深度学习环境、建立图像识别模型、生成图像和文字等能力。


(2).《统计学习方法(第2版)》 适合人群:新手小白且数学基础好

统计学习方法即机器学习方法,是计算机及其应用领域的一门重要学科。

本书分为监督学 习和无监督学习两篇,全面系统地介绍了统计学习的主要方法。包括感知机、k 近邻法、朴素贝叶斯法、决策树、逻辑斯谛回归与最大熵模型、支持向量机、提升方法、EM 算法、隐马尔可夫模型和条件随机场,以及聚类方法、奇异值分解、主成分分析、潜在语义分析、概率潜在语义分析、马尔可夫链蒙特卡罗法、潜在狄利克雷分配和 PageRank 算法等。

叙述力求从具体问题或实例入手, 由浅入深,阐明思路,给出必要的数学推导,便于读者掌握统计学习方法的实质,学会运用。 为满足读者进一步学习的需要,书中还介绍了一些相关研究,给出了少量习题,列出了主要参考文献。


 二、python进阶书单

1.数据结构与算法

(1).《算法导论》 适合人群:有基础者

在有关算法的书中,有一些叙述非常严谨,但不够全面;另一些涉及了大量的题材,但又缺乏严谨性。本书将严谨性和全面性融为一体,深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。全书各章自成体系,可以作为独立的学习单元;
算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂;说明和解释力求浅显易懂,不失深度和数学严谨性。

全书选材经典、内容丰富、结构合理、逻辑清晰,对本科生的数据结构课程和研究生的算法课程都是非常实用的教材,在IT专业人员的职业生涯中,本书也是一本案头必备的参考书或工程实践手册。


(2).《算法 第四版》 适合人群:新手小白

 
《算法(第4版)》是Sedgewick之巨著,与高德纳TAOCP一脉相承,是算法领域经典的参考书,涵盖所有程序员必须掌握的50种算法,全面介绍了关于算法和数据结构的必备知识,并特别针对排序、搜索、图处理和字符串处理进行了论述。

 第4版具体给出了每位程序员应知应会的50个算法,提供了实际代码,而且这些Java代码实现采用了模块化的编程风格,读者可以方便地加以改造。配套网站提供了《算法(第4版)》内容的摘要及更多的代码实现、测试数据、练习、教学课件等资源。


2.计算机网络 

(1).《TCP/IP详解》 适合人群:有基础者

这是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者W.Richard Stevens用Lawrence Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输的不同分组。
对tcpdump输出的研究可以帮助理解不同协议如何工作。 《TCP/IP详解卷1:协议》适合作为计算机专业学生学习网络的教材和教师参考书,也适用于研究网络的技术人员。


(2).《计算机网络 自顶向下》 适合人群:有基础者

 本书是当前世界上最为流行的计算机网络教科书之一,采用了作者独创的自顶向下的方法来讲授计算机网络的原理及其协议,即从应用层协议开始沿协议栈向下讲解,强调应用层范例和应用编程接口,使读者尽快进入每天使用的应用程序环境之中进行学习和“创造”。本书的讲解以因特网为例,学以致用;注重教学法,深入浅出地重点讲解计算机网络的基本原理。


3.Linux系统

(1).鸟哥的《linux私房菜》 适合人群:有基础者

本书内容丰富全面,基本概念的讲解非常细致,深入浅出。各种功能和命令的介绍,都配以大量的实例操作和详尽的解析。本书是初学者学习Linux不可多得的一本入门好书。

 鸟哥的Linux私房菜:基础学习篇》是最具知名度的Linux入门书《鸟哥的Linux私房菜基础学习篇》的最新版,全面而详细地介绍了Linux操作系统

全书分为5个部分:

第一部分着重说明Linux的起源及功能,如何规划和安装Linux主机;

第二部分介绍Linux的文件系统、文件、目录与磁盘的管理;

第三部分介绍文字模式接口shell和管理系统的好帮手shell脚本,另外还介绍了文字编辑器vi和vim的使用方法;

第四部分介绍了对于系统安全非常重要的Linux账号的管理,以及主机系统与程序的管理,如查看进程、任务分配和作业管理;

第五部分介绍了系统管理员(root)的管理事项,如了解系统运行状况、系统服务,针对登录文件进行解析,对系统进行备份以及核心的管理等。 


(2).《Unix环境高级编程》 适合人群:有基础者

本书内容权威,概念清晰,阐述精辟,对于所有层次UNIX程序员都是一本不可或缺的参考书。

本书在保持了前一版风格的基础上,根据最新的标准对内容进行了修订和增补,反映了最新的技术发展。书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容,还在此基础上介绍了多个应用示例,包括如何创建数据库函数库以及如何与网络打印机通信等。此外,还在附录中给出了函数原型和部分习题的答案。

4.代码质量

《重构 改善既有代码的设计》 适合人群:所有人

本书清晰揭示了重构的过程,解释了重构的原理和最佳实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。书中给出了70多个可行的重构,每个重构都介绍了一种经过验证的代码变换手法的动机和技术。本书提出的重构准则将帮助你一次一小步地修改你的代码,从而减少了开发过程中的风险。


好啦,那么今天的文章内容就分享到这里啦。我想讲的是,入门选一本书就够啦,但是一定要吃透。python入门书籍有很多,基本上都是大同小异,选一本口碑最好的就行。一定要把一本书吃透,每一个概念,每一个习题,每一个示例,切记!!!

 不推荐那种入门阶级和进阶一起教的书,感觉哪个都学不好。也不用纠结版本和编辑器,如果不是太早的书,基本上都是3.x版本了,苹果有自带的编辑器,如果是windows版本的话用sublime text就行,这个不是大问题。

动手敲代码比记笔记更重要,这里提醒一下,有的入门书是附带源码的,比如蟒蛇的源码都可以下载。但这些代码我建议一定要亲自手敲一边,尤其是小白,很多时候的报错是因为代码不规范。

多和大佬交流,搞不懂的地方要多问,别怕自己的问题丢人,大家都是从小白过来的。


喜欢这篇文章的请大家点个赞或者点个关注,下次不迷路!欢迎大家评论

感谢每一位愿意读完我文章的人,创作是一件非常值得持续投入的事情,因为你们每一次的支持都是对我极大的肯定!(看我主页)
 

你可能感兴趣的:(原创,python,经验分享,爬虫,程序人生,编程语言)