今天为你们分享资深开发者的Python学习之路,但愿能帮到你们。我是15年4月份正式开始学习Python语言的,入门资料是玩转Python编程语言视频教程,经过Python你能够重拾编程的兴趣,得到编程的乐趣。html
利用Python进行Web编程,通俗的讲就是本身写个网站。因此凡事和写网站不相干的实践我统统跳过或稍微尝试作下。我到如今还认为这样的学习方式是正确的,由于Python能作的事情很是多,覆盖各类领域。在了解Python基本的语法以后,进行不一样领域的实践又要学习不少不一样的东西(不一样的包的用法和相关知识),因此,我很是建议你在学习Python以前明确掉你学Python的最终目的是什么?而后集中精力去学习与目的相符的知识点。好比你学习Python和我同样是作网站,那么爬虫、数据统计、数学处理、客户端软件编程、设计游戏等这些事情一概先跳过不深刻;若是你学习Python是为了作数据分析,那么像作网站的实践、Web框架这些应该先跳过。其实道理很简单,精力和时间有限,所以集中去攻克和目的相关的内容,不容易分散精力,学习也很快。程序员
以后,入门进阶读物就是《Learning Python》(俗称“老鼠书”)。这本书很厚,并且还有一部分高级操做是电子版的。这都不重要。你只要读好这本书「纸质版」包含的内容便可。在看《Learning Python》的同时,我会随手根据书上学到的东西编写对应的实践看看代码的运行效果。这时我遇到一些问题:怎么让电脑能够写Python代码?用什么写Python代码好?web
第一个问题我先想到Python的官网是否有安装包,结果固然是有。虽然英语渣,但软件下多了,仍是知道跑到downloads页面去找的,安装包安装很方便,和装通常软件没什么两样。(如今以为这是比Ruby作得好的地方)。第二个问题,求助了万能的知乎,看到多数人推荐Pycharm,本身就下载用了,开始没感受特别(没用其余的因此没对比),以后以为难用(英语渣致使),最后以为超-级-爽(熟悉后)。而后问搞技术的同过后,了解到其实这家出的其余语言编辑器也很是棒。解决了上述两个问题后,眼下就是巩固知识多学多看的事情了。编程
学习完部分《Learning Python》后(见备注),我对 Python基本的基础语法已经了解,但很容易忘,所以进阶学习是看网络教程,这里尤为推荐廖雪峰的教程。网络教程包含更多的基础实践,没书里那么细,于是「温故而知新」的效果很好。segmentfault
看完廖雪峰的教程后,我基本语法已经没问题。不少高阶应用知识的问题在这个阶段产生,我都似懂非懂。我最后的处理办法是:将这些问题先放在了一边。作网站。因此基本语法掌握后,我跃跃欲试,又是万能的知乎,给我了下一步的方向,但也带给了我更多的困扰。在学习完廖雪峰的教程后,我知道我下一步是了解Python的更多周边信息,了解如何利用Python去写网站的,了解编程学习的进一步应该学些什么。在知乎关注Python和一些编程话题后,知道知乎有「三大软狗:温、赵、轮」,还有一个「萧井陌」,这四我的是程序界在知乎的有名人物,这其中我感受萧井陌接触Python多一些,其次是轮子哥。按照萧井陌在某一问题下的答复(他说把他答案全看一遍再说),我就老老实实的把萧井陌的答案全看了一个遍,以后又一样的作法看了轮子哥的。网络
若是说具体的收获,感受认识层次有提高,并且不小,关于这点真的「只可意会不可言传」,你试试就知道了。在学习第二本书的时候,我就知道Python有版本之争,但在知乎搜索有关问题看更多后,我发现这个争论还不小。我倒没那么纠结,果断的上Python3.x,可能我是搞产品的,不喜欢陈而不新的东西。这以后我全部的实践,包括如今编写网站,所有基于3.x。固然这绝对不是说2.x就不该该去了解,只是3.x是主要的。框架
悲剧的事情来了。由于在知乎看得太多,我陷入了「Python仍是Ruby」的深深纠结当中。这和我目的是WEB方向有关。若是题主学习Python不是作网站,不会遇到这个问题。为了解决问题,个人作法是买了Ruby的经典入门书,结果看到30多页的时候,忽然充满恶心和厌恶,直接甩书。这以后进一步了解到WEB框架,知道Python的几个主力WEB框架。知道Flask,了解这些框架的设计理念以后,我选择了Flask,就跟我学习Python同样,我认同他们的设计理念。编程语言
进一步,我进阶学习仍是一本书《Flask Web开发》,经过这本书,我开始尝试编写网站。然而我发现书上的知识是远远不够的。在学习《Flask Web开发》的过程当中,我几乎是边回头看廖雪峰的教程,边谷歌搜索过日子。这之中几乎天天都会被一个问题挡住,而后天天又解决一个问题。这种感受很棒,感受天天都有成就感的活着。编辑器
在《Flask Web开发》看到一大半的时候,我发现光有Python相关的知识已经不够用,我不知道MySQL怎么用,不知道ORM为什么物,不知道HTTP协议的具体细节。总而言之,深感知识的荒芜。我暂时放下《Flask Web开发》,开始学习上面谈到的这些东西的相关知识。方式以GG为主,后来知道程序员有专门的问答网站,在国内这个网站是segmentfault,经过这个网站也学习到上述的很多相关知识。在补充了相关知识后,《Flask Web开发》绝大部分都看得懂了。我开始动手编写我想作的网站,一直到如今。学习
《Flask Web开发》看完后,开始看《Python核心编程(第2版)》,这本书有些问题(后面会谈到),不过很受用,由于自己是教科书的形式,知识脉络比较规矩和全面。
目前《Python核心编程(第2版)》看到P417,而后边看边写网站。偶尔还会参考《Flask Web开发》,多数状况下看各类官方文档了,好比Flask的。哦,忘记说了,我很早就知道各类程序总有做者编写的文档的,国内会有一些人热心翻译。我总能经过GG找到这些资料。这些资料是很是一手的好东西,可是没前面的基础工做同样看不懂。
愈来愈喜欢Python,喜好编程,看见程序员就想和他们交朋友,以为他们是一群很棒的人!
《Python核心编程(第2版)》是基于Python2.x的,不少知识滞后,不适合一上来看这本书,由于看了会更困惑。这本书是教科书式的,和《Learning Python》是两种大相径庭的成文风格,并且一些知识点篇幅很短,对于有编程基础的,是适合的,对于新手相反。
必定必定要有一个目的,漫无目的去学习Python会被坑。Python犹如汪洋大海,漫无目的犹如在大海行一页扁舟,却没有目的地,只能做死。一开始要接受Python的设计理念,这对学习激情有帮助。固然,以后接触更多语言能够带着辩证的观点去看待更多。
学习玩转Python编程语言视频教程,越日后的东西,若是不在实际应用中遇到问题,会致使就算明白了也是似懂非懂的感受,并且没法深入领会一些东西的含义。坚持和兴趣很重要,不要轻易放弃,并尝试喜欢上他。感谢网友提供的思路分享,但愿对你们有帮助,早日玩转Python!