Python为何作为编程的入门语言

75 阅读5分钟

前言

有很多想学编程的观众小伙伴问我,为什么现在美国有很多名校,都把Python作为编程的入门语言,为什么没让学用c语言入门呢,不是说c语言,能帮你更好地掌握计算机底层的原理吗?用python入门相比于用c入门究竟有哪些优势呢?本期文章就来回答一下这些问题,希望让你的编程学习之路会变得更顺畅。

python四大亮点

首先呢要澄清一个观念,一门编程语言能让你更好地了解计算机硬件的底层原理,并不代表你就应该用这门语言来入 门。对于初学编程的人来讲呢?最应该培养的其实是problem solving(问题解决)的思路,一门语言它越是能够精简地描述problem solid思路,就越适合用来教授编程和理解computer science的本质,这也是CS四大名校MIT、CMU、Stanford UC、Berkeley,全都选择Python作为入门语言的原因,等学生们通过Python快速掌握了编程的直觉和本质,这些学校再通过后续的课程,来教授计算机的底层原理,同时呢让学生深入的学习c语言,比如这些学校的 operating system课程,就会让大家用c,来实现一个类Unix的操作系统

那么Python究竟有哪些亮点,使得他对初学者这么友好呢 下面我就来一一介绍一下

亮点一 Python代码非常的简洁

举个最简单的例子吧! 分别用C、python来输出hello world,直观感受比对下:

python实现 image.png C实现

image.png 如果你想用Python来输出hello world, 那么直接调用print函数, 一行代码就搞定了, 清晰又直观吧。 相同的逻辑呢, 用c语言来实现, 代码明显复杂得多。

那如果你是用c语言来入门编程, 你就不得不花更多时间, 去搞懂多出来的那些代码到底是干嘛的, 以及他们为什么在c代码里是必须的。 所以呢用Python来入门编程, 能让你省下更多的时间, 来专注于学习编程的本质, 而不是学习语言本身, 这样你的学习效率自然就提高了

亮点二 Python代码的可读性是非常高

Python代码的可读性是非常高,相对来说更容易理解

举个例子

分别用C 、python编写代码,把0-9这10个数字打出来

C实现

image.png

python实现

image.png

虽然这里的Python代码,并不比c代码简洁多少,但是呢Python的for loop的写法,明显更接近英文的语法,这就是说,如果你有英文的基础,那么你读Python代码,大概率会觉得更自然,更容易看懂,然后关于python的可读性的优点

有个很经典的案例

就是AI领域的大牛Peter Norwig,同时也是Artivicial intelligence a modern approach这本书的作者,当年他在学校教AI的时候,经常收到学生的反馈,说书中用的伪代码描述的AI算法和Peter在网上提供的用类似,写的参考代码找的实在太不一样了,导致这些类似,代码读起来很费力,于是呢Peter为了减轻学生的负担,就决定换一门语言,来实现书中的尾代码,然后他找了一圈之后,发现Python是所有语言中,最接近书中伪代码的,于是就有了这本书的Python代码的实现,这也是为什么Peter Novic非常偏爱Python,后来他在udesity教AI课程的时候,也选择了Python

博主在读大学的时候,计算机课程,书本里面那伪代码的确很难理解,跟上面案例学生反馈的感受是一样的

亮点三 Python提供了丰富的标准库

是它提供了丰富的标准库,让很多功能实现起来都非常的容易

举个例子

想在程序里创建一个list,用Python来写不要太简单,直接一个方括号括起来就搞定了,代码读着也非常的直观 而如果你用c来写呢?c的标准库并不支持list,你要么 自己去找一个支持list的第三方library,要么你亲手实现一个list对他structure

python实现list

image.png 这两个对初学者来说都很难

所以如果你用c来入门编程,会遇到更多的障碍,会更容易被劝退

再讲一个例子吧

如果你想实现一个文件下载器,使用Python自带的标准库,4行代码就搞定了,而c元的标准库呢,并不支持类似功能 就算你找到了第三方library,比如图中的这个curl library,你的代码也会繁琐得多

python 实现文件下载

image.png 所以呢用Python来入门编程,相比于用c

  • 你的产出会多得多

  • 就更容易产生成就感

  • 激励你一直学下去

亮点四 Python具有很强的交互性

具体的说呢

是Python自带一个repo,也就是一个交互式的shell,你的每一行代码,都可以在repo里马上执行,马上打出结果 从而实现了从写代码,到看结果的快速的反馈,对于初学者来说,这种快速的反馈,会帮你省去大量的时间,而c和C++呢,就不提供这么快的反馈,因为你的代码不能马上运行,必须要先compile一下才能执行,等于多了一个步骤嘛,当然会花更多的时间了

看到这里,一定会有小伙伴说,Python是解释型语言,所以代码不需要编译,可以直接运行,而c和C++是编译型语言

当然必须编译一下喽,这种说法其实是错误的,因为,根本就不存在所谓的编译型语言,和解释型语言,所谓的编译型解释型,并不是编程语言的特性,而只是语言实现的特性

综上所述,入门选择python是比较好的,现在好多小学生编程培训机构,不也选择的是python吗?