因为我目前做Python
相关开发,很多想入门Python
的朋友或者从事其他语言开发的同学私聊讨论书籍资料推荐的话题,其实网上有很多关于这个问题的话题总结,我个人的推荐并不见得比大神更好,希望真正想沉下心来学习的人能够早点明白“自己动手,丰衣足食”的道理。在这里做个简单整理也算是给大家一个交代,以不留下盛气凌人的傲慢印象为盼。
红药丸还是蓝药丸
刚开始学习编程的时候,很多人会有各种困惑:选择哪门语言?选择语言的哪个版本?用什么编辑器/开发平台……
相信看这篇文章的对第一个问题已然有了自己的选择,在此不多赘述。关于 Python 版本的问题,时至今日(2017 年),除非公司项目需要,不然请果断选择 Python3,毕竟大多数第三方库已经做出放弃 Python2 维护的相关说明。第三个问题倒是不用过分纠结,毕竟只要能够 run,哪怕是用记事本写的也没人会在意。个人目前使用 Sublime Text 3 搭配 PyCharm 作为 IDE。
入门篇
- 《”笨办法”学 Python》 (《Learn Python the Hard Way》)
学习一门语言的最好办法就是多敲多用,妄图靠眼睛看会一门技术的人,希望能够早点丢掉幻想,准备战斗!
这本简单书的目的是让你起步编程。 虽然书名说是“笨办法”,但其实并非如此. 所谓的“笨办法”是指本书教授的方式。这本书的
教学方式就是按照我告诉你的方式去做一系列的练习,目的是通过重复练习掌握一种技能。这对于一些什么都不知道的初学者,在理解更复杂的科目之前获取基本能力是很有效的方法。这种方法适用于一切领域,从武术到音乐甚至基本的数学和阅读技巧。
这本书以习题的方式引导读者一步一步学习编程,从简单的打印一直讲到完整项目的实现。也许读完这本书并不
意味着你已经学会了编程,但至少你会对编程语言以及编程这个行业有一个初步的了解。
- 《简明 Python 教程》 (《A Byte of Python》)
看一下激动人心的前言介绍:
本书将以指南或教程的形式向你介绍
Python
这门编程语言。它以新手为主要目标。同时本书也对有经验的程序员有所帮助。
如果你对电脑的所有了解仅止步于如何保存文本文件的话,那本书的目标便是协助你通过本书学习Python
。如果在此之前你已经有了编程经验,你同样可以通过本书来学习Python
。
如果你已经有过编程经验,你或许会对Python
与其它你所喜爱的编程语言间有何区别抱有兴趣——而我将会你展现许多这种区别。顺便提醒你一下,Python
将会很快成为你最喜欢的编程语言!
- 《 Python 3 官方教程》
Python 入门指南中文版
Python 官方教程(英文原版)
更新、权威、条理化的官方tutorial
,最原汁原味的Python
指南。
- 《零基础学 Python》/《跟老齐学 Python》
这本教程是我当初开始自学的时候看过的,由于是国内作者,语言习惯更适合我们,顺便也推荐给大家。
在我看来,
Python
是非常适合作为学习高级语言编程的第一门语言的。有一本书,名字叫《与孩子一起学编程》,这本书的定位,是将 python 定位为学习者学习的第一门高级编程语言。然而,由于读者对象是孩子,很多“成年人”不屑一顾,当然,里面的讲法与“实战”有点距离,导致以“找工作”、“工作需要”为目标的学习者,认为这本书跟自己要学的方向相差甚远。
为了弥补那本书的缺憾,我在这里推出面向成年人——大学生、或者其他想学习程序但是没有任何编程基础的朋友——学习第一门编程高级语言的教程。
读完上面的书,你已经掌握Python
的语法特点,可以看懂语言逻辑,也可以按照自己的想法写一点小demo
了。这个时候,如果打算从事相关工作,可以尝试迈出第一步啦。需要提醒大家的是:读书和做写代码应该是并驾齐驱的,不能一味地去读书,也不要一味敲代码。(当然,你可能也写不出来)只有相互有机结合,才能记得稳固,学得牢靠。
进阶篇
- 《流畅的 Python》 (《Fluent Python-Clear, Concise, and Effective Programming》)
这本书并不是一本完备的
Python
使用手册,而是会强调Python
作为编程语言独有的特性,这些特性或者是只有Python
才具备的,或者是在其他大众语言里很少见的。本书的目标读者是那些正在使用Python
,又想熟悉Python 3
的程序员。本书的主要目的是为了充分地展现Python 3.4
的魅力。
- 《《Python Cookbook》3rd Edition 》
这本书的目标读者是那些想深入理解
Python
语言机制和现代编程风格的有经验的Python
程序员。本书大部分内容集中于在标准库,框架和应用程序中广泛使用的高级技术。
本书所有示例均假设读者具有一定的编程背景并且可以读懂相关主题 (比如基本的计算机科学知识,数据结构知识,算法复杂度,系统编程,并行,C 语言编程等)。 另外,每个示例都只是一个入门指导,如果读者想深入研究,需要自己去查阅更多资料。我们假定读者可以很熟练的使用搜索引擎以及知道怎样查询在线的Python
文档。
读完上面的书,你已经可以写出Pythonic
的代码了,应该对Python
有了自己的理解,并且也会有自己的方向,可以确定自己的发展方向:Web 应用开发、爬虫数据分析、网络安全、运维测试、Linux
系统开发、人工智能/机器学习。相信这个时候你已经不再需要别人的推荐,那么是时候为Python
的蓬勃发展贡献自己的力量啦!