看到Python当下这么火,想自学然而却一直没能动手,想去报个靠谱的培训班,又担心学习成本太高,心里百万个不愿意,身体却很诚实地打着退堂鼓。
可以很负责的说,Python是一门相对友好的编程语言,为什么说友好?因为如果你想要完全掌握它,其实用点心还是很容易就能学会的。
Python的设计哲学之一就是简单易学,为什么这么说呢?
首先,python语法简洁明了:相对Ruby和Perl,它的语法特性大多数都很简单;
然后就是,切入点很多:Python可以能做很多事情,比如科学计算、数据分析、爬虫、Web网站和命令行实用工具等等等,总能找到一个你要去学习python的理由。
那么想学好python该从何学起?
起步阶段--掌握基础理论知识
包括python的编程语言的语法、算法和数据结构、编程范式等,例如:变量和类型、循环语句、分支、函数、类。这看上去是掌握了一种语法,事实上是建立一种思维。此话怎讲呢?就是让一个有Java编程基础的人去学习Python,他可以很快的将Java中的学到的面向对象的知识map到Python中来,从而快速掌握Python中面向对象的特性。
如果说你之前从未接触过编程语言,那么建议去买一本可靠的语法书。虽然你可能会觉得这非常枯燥乏味,但对于建立编程思维是必不可少的一步。
下面列出了一些适合初学者入门的教学材料:
(1)「笨方法学Python」
讲解的是python语言,还附带大量可实践的例子,非常适合快速起步。
(2)「TheHitchhiker’sGuidetoPython!」:TheHitchhiker’sGuidetoPython!
这本书着重于Python的最佳实践,不管你是Python专家还是新手,都能获得极大的帮助。
(3)「Python官方文档」:OurDocumentation
实践中大部分问题,都可以在官方文档中找到答案。
(4)辅助工具:PythonTutor
一个Python对象可视化的项目,用图形辅助你理解Python中的各种概念。
第二发展阶段
当你了解了基础知识,必定会想要试试,去验证这些基础知识是否真的有用或者说是看看自己到底掌握了多少。
是的,想要让Python发挥出它的价值,当然不能停留在语法层面。
对于科学计算和数据分析、爬虫、Web网站、游戏、命令行实用工具等,这些是怎么运用python去实现的,这是你要学习的。
说起来,python的发展近年来得到了质的飞跃,下图是在网上查阅的全球去年编程语言的排名数据分析图,
可以看到,python已经超越C#语言升至第四名了。
python现状拿爬虫举例,如果你对计算机网络,HTTP协议,HTML,文本编码,JSON一无所知,你能做好这部分的工作么?这样子一分析,是不是觉得python变得好复杂?
所以这个时候,就需要接触大量类库,阅读大量相关书籍。
书籍方面:
这里列出一些比较有一些帮助的书籍
「集体智慧编程」:集体智慧编程
「数学之美」:数学之美
「统计学习方法」:统计学习方法
「PatternRecognitionAndMachineLearning」:PatternRecognitionAndMachineLearning
「数据科学实战」:数据科学实战
「数据检索导论」:信息检索导论
爬虫:
「HTTP权威指南」:HTTP权威指南
Web网站:
「HTMLCSS设计与构建网站」:HTMLCSS设计与构建网站
你会发现所提到的大部分书籍,并不是讲Python的书,而更多的是专业知识。
深入阶段
这个阶段的你,对Python几乎了如指掌,那么你一定知道Python是用C语言实现的。
可是Python对象的“动态特征”是怎么用相对底层,连自动内存管理都没有的C语言实现的呢?这时候就不能停留在表面了,勇敢的拆开Python的黑盒子,深入到语言的内部,去看它的历史,读它的源码,才能真正理解它的设计思路。