什么都不懂的小白,Python应该怎么系统学习?我们来看看这位前辈的分析回答。
对于一个什么都不懂的小白,我觉得了解以下内容,就可以入门了。之后再练习若干时间,就能够基本上掌握Python了。
1.相关概念介绍
2.环境配置
3.编辑器选择
4.基本程序思想
1相关概念介绍
首先,要知道Python有两个版本,Python2 和 Python3。他们之间的区别就好比北京话和普通话之间的区别,只有少数语法不同。如果没有特别要求,建议一律从Python3开始学,2你就当作不存在。
毕竟更新的版本往往弥补了原先的一些问题和不足,而且也是大势所趋。真要学习2的话基本上也是为了维护现有的项目,对于小白来说那就是很久以后的事情了。
第二,Python的语言特性。零基础的话选择Python是个很好的选择,因为它很快!人生苦短我用Python! 比如,在绝大多数的语言里面,变量是要先声明类型才能使用的:
a是一个变量!这个变量是整数型的!
我们现在把3赋值给变量a!
好的没有问题。但是如果把3.7赋值给a,a还是会等于3,因为它是整数变量。是不是很反人类?但是这样也有它的好处,非常的严谨。在Python里面就不用考虑这些乱七八糟的东西,赋值给a的是啥就算啥,无论是整数还是小数还是其他乱七八糟的结构。当然这样也有坏处,首先编译器判断你是个什么东西就挺花时间的,这也是Python慢的原因之一。
等等!你刚刚还说人家很快来着!
事实上,Python的快指的是写起来快,因为不用考虑这些乱七八糟的定义声明和边界条件。但是作为代价,它跑起来很慢。所以实现一个算法的时候,开发人员往往会先用Python写一遍,尽快得到一个结果;如果结果不错,再用c重写一遍让它跑起来也很快。
Python快还有另外一个原因,它有着大量优秀的第三方库。知乎上经常推送一些什么十行搞定深度学习之类的头条新闻,就是利用这些第三方库。那些被别人写过一遍又一遍的程序直接拿过来用是一件很爽的事情。
2环境配置
上文说到Python有着大量的第三方库,而且你不可能不用,因此管理这些库就成了一个问题;可能Python2和3之间还要来回切换,两个语言之间可能也会打架。好的环境配置会把这些问题都解决掉——那就是Anaconda。
Anaconda是个什么东西自己去百度,目前你只要知道它能很好地管理Python的开发环境而且非装不可就行了。建议电脑预留1G硬盘容量。如果容量不足的话可以用Miniconda,是同一个东西,Anaconda大一点是因为自己带了很多私货。如果Miniconda都装不了就不要学了,先攒钱买个新电脑吧。
如果是以程序员为职业目标或者有其他语言需求的,建议下个地表最强IDE Visual Studio,里面可以装Anaconda,预留20G容量。正如Anaconda管理着Python的环境一样,VS可以管理着各种语言的环境,还能帮忙装一些框架,总之没坏处的。只是想学个Python玩玩的就不必了,直接装就行。
如果你已经在电脑里装了Python,建议把它删了,Anaconda里面自己带个Python。记得配置环境变量,具体自己百度。
3编辑器的选择
如果在前面一步装了VS,那用VS本身就可以了,但是我不太建议。VS本身的功能很强大,但是对于初学者来说可能有些太过于繁杂了,本身学习使用VS可能也需要一些成本,以下几个是我比较推荐的编辑器,具体怎么配置环境自己查:
PyCharm
据说是Python最好的IDE了,好评率99%。如果实在没什么别的需求就选它了。
VS Code
和VS不是一个东西,这是个轻量级的编辑器,和PyCharm差别不大,我用起来比较顺手,但是编译起来比较慢。如果断点调试(就是暂停运行查看程序状态)有bug可能是没有装pyqt。
Jupyter
Anaconda自带,它比较特殊,是一个交互式的编辑器,感觉像是写作一样写代码,也是比较好用的。建议了解一下,喜不喜欢见仁见智了。
sublime
本身是个文本编辑器,写Python的话还需要配置一下,比较折腾,不像前面几个拿来就能用,因此不是很推荐。但是我个人很喜欢它那个性冷淡的风格。
4基本程序思想
虽然我建议边练边学,但是基本的概念还是要有的,不然你第一个程序都写不出来。一些简单的算法伪代码要能看懂,起码知道for循环while循环if-else这些东西,常用的数据结构比如链表数组字典得知道。
不明白的话随便找个教程网站,看上一个小时就明白了。面向对象的思想明白最好,实在不明白也不耽误。
好啦,到这一步你就已经可以开始写你的第一个程序啦!不知道写什么的话有几个推荐:
会算法的话可以去刷LeetCode,但是我个人觉得对新人比较难,建议用别的语言刷过的人再去尝试。
不会算法可以去Hackrank,这个网站有一个30Days for Python一共一百来道题,刷个十天半个月也就入门了。
喜欢琢磨数学的话可以去ProjectEuler,提供几百道适合编程解决的数学题,做个三五十道就入门了应该。
如果遇到困难就百度谷歌,你掉进去的坑都是别人踩过不知道多少遍的,总能解决的。
到了这一步,也许你写个Python程序还是有些费劲,但是你真的已经会了。起码在想用Python完成一个任务的时候,语言不再是你的阻碍。
其实,对于什么都不懂,但是想进入IT行业的小白来说,自学不是个好选择。对于编程原理、项目实践,如果自己摸索,既浪费时间精力又容易体会到挫折感。
如果你下定决心想入行,那么有老师带领学习是找工作就业的最好途径。