结合自己的学习经历,谈一谈如何学习Python吧。
入门阶段
Python其实语言本身已经很接近自然语言了,所以入门其实并不麻烦。如果你是从未接触过编程的萌新,给你推荐一门Udacity CS101,这门计算机导论课,大家可以自己去搜索,就不贴链接了。这么课不仅讲解python的一些语法,也会提到一些计算机的基础概念。
当然如果大家觉得视频太慢不适合自己的,推荐一本叫做《A Byte Of Python》的书,然后照着书里的代码自己敲一遍,基础的语法都有讲到,敲完一遍后,大概也就算入门的。这本书通过搜索引擎也很容易找到,有中文和英文两版的区别不大。当然,最重要的是你一定不能copy书里的代码,然后运行,学编程,不动手是不行的。而且敲的过程中,难免会有一些打错的地方,这时候根据错误信息,来学习一下如何debug也是极好的,当然这个过程里,你也能对python的编程环境熟悉。
编程环境的话可以选择文本编辑器+命令行运行,或者IDE的两种。前者推荐Sublime Text,后者推荐Pycharm,当然这只是一种推荐。
看完《A Byte Of Python》你应该对大部分语法比如控制语句,函数,对象等都有了一定的了解了,这时我强烈推荐大家廖雪峰的Python教程,这个教程前面讲的很基础,但是到后来开始讲一些Python的高级特性,看完你会感叹,“我的天,代码居然还能这样写。”其中还会提到IO编程,网络编程,数据库操作等也算是一些小的应用场景,并且教程里结合了作者踩坑的一些提醒,对新手来说帮助很大。教程结束时,有一个为期一周的小练习,是写一个博客,能将学到的东西,马上实践,并展示给身边的人看,这本身就是一个对于初学者极大的正向激励。值得强调的就是,教程里代码和练习题最好都做。很多事情往往不是你想象中那么简单,开始写,你会发现很多问题。
对于练习,给大家推荐一个叫做codewar的网站,是在线编程的一个网站,上面有很多算法题,分难度,循序渐进,入门题是写一个求和的函数,对新手很又要,自带升级的机制,还有社区的排行榜,能让你体验一把网络游戏里练级刷怪,欲罢不能的感觉。
应用阶段
当你入门之后,如果你还没有明确的目标,那么你可以做一些练手项目,来巩固已经学会的知识,比较常见的便是写一个爬虫啊,利用Flask,Django等框架写个web应用之类的。但不限于这些,主要还是看你自己的兴趣。
通过搜索引擎检索“python 练手项目”会出来很多资源,在这就不贴链接了。
比较理想的学习过程是,先自己根据项目需求,想想如何实现,实在没思路,再翻翻网上的代码,看看别人是怎么实现的。然后仿照着别人的方法自己实现一遍,在实现过程中,千万不能把别人的代码clone下来,跑成功就满足了。结合文档,慢慢查懂别人代码的意思很重要。这也会锻炼你查文档的能力,这对于一个程序员来说,十分重要。
值得一提的是,现在机器学习,人工智能这一话题被大家吵得很热,但我不建议大家一开始就去练习这些项目。因为很多这种项目主要都是让你去调用开源框架,然后调包,因为你不懂得算法本身的原理,所以很多时候你也不明白为什么要这么做,感觉对大家的帮助不是那么大。如果真的有志于涉足这一领域,强烈建议再搭配着看一些算法理论方面相关的书。
深入阶段
由于答主本人也还未达到这一阶段,所以不能给大家很好的建议,希望有一天能够来补上这一部分。
就给大家贴一下自己收集的书单吧。
《Learn Python The Hard Way》
《流畅的Python》
《Python Cookbook》
《Effective Python》
都是好评比较多的书,希望能帮助到大家。
全部0条评论
快来发表一下你的评论吧 !