入门就一句话:从入门到放弃。
是个麻烦事,从哪里入手也是件麻烦的事情,很多初学者往往找不到北,这时候,如果能掌从一门简单易学的编程语言,那就信心百倍了!
在这里,我郑重跟各位安利 Python 。
蟒蛇:老铁,咱能不提到我吗?
大家别被这名吓到,这门语言的创造者Guido van Rossum是根据BBC的搞笑节目“蟒蛇飞行马戏”(Monty Python’s Flying Cirecus)来命名的——并非他有喜欢看蟒蛇绞杀动物的奇特癖好(不过logo的确是两条蛇缠在一起)
据我多年 女装大佬 Python老司机经验,总结有下:
所以有人说,Python 是一款非常适合新手开的好车,不要驾驶证就能上路。除非你想体验速度与激情的快感,一般来说,你不需要其它车。
听说Python有两个不同版本,我该选择2还是3?
Python2.x是已经进入稳定状态的Python版本,Python3.x是开发更加活跃的面向未来的版本。它们在语言特性上有略微不同,但不至于相差太大。
至于选择哪个版本,要根据你的使用方式而定。一般来说,大部分Linux和MacOS设备都默认预装Python 2,且旧版本支持的第三方库也更多;Python 3 则提供更舒服的字符编码处理机制。
所以,如果你需要处理中文文本,或者你并不需要用到某些只有在Python 2上才能运行的库,那你可从 Python 3 开始你的学习之旅。
了解了些基本内容,我需要怎么开工?
为了编写存储程序代码的文本文件,我们需要一个趁手的编辑器。
对于编辑器的基本要求之一是语法加亮功能,利用这一功能,你的Python程序的不同部分被标以不同的颜色,这样你可更好看清你的程序,使它的运行显得形象化。
如果你使用Windows,我建议你使用IDLE。IDLE具备语法加亮功能,还有其他功能,比如允许你在IDLE中运行你的程序。注意:不要使用Notepad——它是一个糟糕的选择,它没有语法加亮功能,且不支持文本缩进。
如果你使用Linux/FreeBSD,你有很多种选择。
有经验的程序员:使用VIM/Emacs。
勿庸置疑,它们是两个功能最强大的编辑器。我个人使用VIM编写我的大多数程序。
是不是还要选择适合我学习方式的教程?
目前初学者容易接触到的Python教材大致有以下两类(文末有具体推荐):
一类是文字材料,例如实体书、电子书、网络教程和程序文档等。文字教程的好处在于信息密度大,学习中遇到不懂的内容可随时查阅,书中的文字材料/代码段可直接复制,方便看到运行结果。
另一类是多媒体教材,例如视频课程和自学APP等。它们的好处在于直观、互动性强,能清楚通过动画、视频的演示了解教学内容。
不管选哪个,结合教材中的实例代码,通过不同的修改和输出了解代码的执行原理,都是非常重要的环节,多动手吧!
那么,入门的时候要怎么做?
啊,明明按照教程做的,怎么跳出这么多红字?
Python程序在运行时遇到的错误,通常会显示详细行号和错误信息,方便用户查找修正。遇到自己不认识的,别慌,先看看它们的描述,再打开你的文件,找到出错的行号。
如果问题过于诡异,就要好好利用 Google 或者必应这些搜索引擎,搜索你遇到的具体问题,通常情况下,基础性语法和逻辑问题还是比较容易解决的。
上面步骤,依然没有解决我的问题怎么办?
耐心点,不要指望搜索几秒钟就能解决一个复杂问题。如果你第一次搜索没有结果(或者结果太多),也不要抛出一堆问题,这时要进行思考。
思考并不是发呆,要动起手来,通过搜索得到的信息,修改你代码中“可能有问题”的部分,观察它的输出结果,逐步定位问题产生原因;
或是通过修改从网山搜到的别人代码,研究运行情况,来了解别人是如何解决特定问题的。
可我想破了脑袋还是不明白,救救我啊!
这点我放到最后来说,因为如何提出一个好问题至关重要。
除了学习群和论坛之外,有几个主要的问答网站:
在问问题前,请在这网站上再搜索一遍你的问题——毕竟新手容易遇到的问题,在这里可能早有人回答过了。
那么,当你排除以上一切,准备开始问时,该怎么组织自己的问题呢?这里有几点建议:
提供简练精确的信息非常重要。
第一,表现出你为简化问题付出了努力,可使你得到回答的机会增加;
第二,简化问题使你有可能得到更有用的答案;
第三,在你精炼自己问题的过程中,可能自己就找到了解决方法。
描述错误信息,不做猜测
向别人陈述你的猜测是没有用的(如果你的诊断理论真的那么有用,你还会向别人求助吗?)。所以,你只需要告诉他们问题的原始状态,而不是你的解释和理论,让他们来解释和诊断。
如果你想知道如何做某事,但在实现过程中卡住了,你需要在开头就表明你的目标,再陈述你遇到问题。
当你选择学习,你的业余时间都会被它所占据,随着学习曲线逐渐变陡,你感到枯燥、迷茫、自卑以及脑汁耗竭的痛苦。
这是非常正常的。许多人(包括我)在学习一门新技术时,都会遇到类似问题。对此,我个人的解决办法有:
当你看完基础语法,对继续往下挖掘感到枯燥时,别勉强自己,翻翻书本,找一些有趣的练习题练练手,或者编写、修改一些简单有趣的小项目,跟你朋友讲你学到的新内容,给自己找点成就感。
2、专注在当前的学习目标上
没有技术背景的人,学习容易被复杂的技术体系吓到,网上经常会出现“一定要读这本书”、“最好先有 XX 基础再看这篇教程”之类的警告,结果常会出现这种情况:本来你只打算学编写网页 ,结果却开始苦读《精通正则表达式》。
别担心,你无需掌握所有分支,很多时候,你只要知道在需要某个知识点时,能从这类教程中找到对应用法即可。
无论学习什么,往往越深入就觉得自己无知。这并不是坏事,它能让你保持谦虚,但千万不要被吓得不敢继续前进。
觉得写出来的代码就像一坨屎?正常,因为你看过的例子和学到的知识增进了你的眼界,但编程技能和思想需要在练习中成长,所以千万不要因此而自卑,继续尝试,相信自己。
人的认知能力是会随着时间流逝而耗竭的,别逞能,站起来走动走动,呼吸一下新鲜空气吧!
最后,祝各位新晋魔法师学习顺利,祝大家赚大钱