它最初在英语中的意思是“蟒蛇”。 直到1989年,荷兰人Guido van(简称Guido)发明了一种面向对象的解释性编程语言(后面会介绍)并命名,赋予了它编程语言的含义。 意义。
图形图标
说起来,它的诞生是非常具有戏剧性的。 根据 Guido 的自我报告记录,他在圣诞节期间开发了该语言来消磨时间。 之所以选择这个编程语言的名字,是因为 Guido 是 Monty 剧团的大粉丝。
它看似是“偶然”开发出来的,但它并不比其他编程语言差。 自1991年首次公开发布以来,其使用量在2004年呈线性增长,并持续受到程序员的欢迎和喜爱; 2010年,荣获TIOBE 2010年度语言桂冠; 2023年,IEEE发布了2023年度编程语言排行榜,排名第一。 截止目前(2023年8月),根据TIOBE排名,仍处于前三名,并持续提升(如表2)。
语言特点
与其他编程语言相比,它具有以下特点。
一维很容易学习
“零基础知识可以学编程吗?” 这是很多初学者经常问的问题。 当然,计算机基础越好,对于学习任何新的编程语言来说就越好,但如果你学习编程语言是零基础,完全不用担心。
从我个人的角度来看,它非常适合作为学习编程的入门语言。 与其他编程语言(例如Java)相比,最大的优点是非常容易上手。 举个简单的例子,如果用Java实现一个功能需要100行代码,那么使用它可能只需要20行。
有人可能会问,用C语言作为入门语言不好吗? 就目前的就业情况而言,仅掌握C语言很难找到高薪工作,但掌握了就不一样了。
而且,在使用其他编程语言(例如C、C++)进行编程时,需要时刻注意数据类型、内存溢出、边界检查等问题。 但你不需要这样做,因为它已经在底层实现期间为你处理好了。
2> 功能强大
强大的功能是获得众多用户支持的最重要原因。 从字符串处理到复杂的3D图形编程,一切都可以借助扩展模块轻松完成。
事实上,的核心模块已经提供了足够强大的功能,很多强大的操作都可以使用设计良好的内置对象来完成。 另外,社区也很发达。 即使是一些小众的应用场景,也往往有相应的开源模块提供解决方案。
3)它是一种解释性语言
编程语言根据程序的执行方式可以分为两种:编译型和解释型。 典型的编译型语言包括C、C++等,解释型语言包括Java等。与编译型语言相比,解释型语言最大的优势就是可移植性。 换句话说,它具有非常好的跨平台特性。
4)它是一种面向对象的编程语言
同时支持面向过程的编程和面向对象的编程。 在“面向过程”的语言(例如C)中,程序只是由可重用的函数构建而成; 在“面向对象”语言(例如C++)中,程序由数据和函数组成。 对象被构造。 并且与其他面向对象编程语言(例如C++和Java)相比,它是以非常强大且简单的方式实现的面向对象编程。
此外,它还具有开源、可扩展性好的特点。 基于以上特点,它被广泛应用于人工智能、图像处理、Web应用开发、自动化运维、网络爬虫等领域。
版本选择
自发布以来,经历了三个主要版本,分别是:
三个版本中,3.0是一次重大升级。 为了避免引入历史包袱,.0没有考虑与2.x的兼容性。 这导致.x用户长期以来不愿意升级到3.0。
此外,造成目前这种情况的另一个原因是,将现有应用程序从2.x迁移到3.x是一个很大的挑战。 虽然有2to3(后面会介绍)等工具可以自动转换代码,但并不能保证转换后的代码100%正确。 而且,如果不进行手动修改,转换后的代码的性能可能不如转换前。 因此,将现有的复杂代码库迁移到 3.x 可能需要大量的精力和成本,而某些公司无法承担。
目前,据统计,使用2.x的开发者仍占63.7%,而.x用户则占36.3%。 可以看到,使用.x的用户仍然占大多数。 2023年,创始人宣布将2.7支持延长至2023年。
那么,初学者应该选择哪个版本呢? 建议您选择.x版本,原因如下:
·使用3.x已成为大势所趋。 虽然大多数开发者使用2.x,但使用3.x的开发者数量正在迅速增加,如图1所示:
图3.x是总体趋势
此外,根据文件 PEP-404,
2.x版本将不再作为2.8版本发布,未来非常重要的项目(例如Flask和Numpy)可能会放弃对2.x的支持,只支持3.x。 所以,从长远来看,学习3.x只有好处。
• 3.x在2.x的基础上进行了功能升级
3.x在一定程度上重新拆分并整合了2.x的标准库,比2.x更容易理解,尤其是在字符编码方面。 2.x中对中文字符串的支持性能还不够好。 需要单独编写代码来处理中文,否则中文无法正确显示。 不过3.x已经成功解决了这个问题。
• 3.x和2.x的思想基本相同
3.x和2.x的思想基本相同,只有少量语法差异。 如果你学过3.x,只要花一点时间学习.x的语法,就可以灵活使用这两个不同的版本。
注意选择3。
因此,在做出选择的时候,首先要考虑清楚自己的学习目标,比如自己打算做哪方面的开发,这个方向需要用到哪些扩展库,以及这些扩展库支持的最高版本等。 弄清楚这些问题之后,再选择适合自己的版本。
关于3.x和2.x的具体区别,可以阅读“3.x和2.x的区别”一节。
初学者应该如何学习?
对于初学者来说,需要做的就是聚焦这门语言,明确学习重点,把握学习节奏,由浅入深循序渐进地学习。 根据我多年的学习和工作经验,我将编程语言的学习分为以下三个步骤。 不管你有没有编程基础,你都可以跟着他们。
1)多练习,积累代码量
任何编程语言涵盖的知识范围都很广,从基本的变量赋值、条件循环,到文件操作、并发编程等等。但是,不要等到你学完了所有的知识点才开始练习,因为那时你就已经你会发现你已经忘记了所有你努力记住的知识。
学习编程非常实用。 没有捷径。 越早练习、越多练习、越勤奋,学习效果就会越好。
2)时刻关注代码规范
在学习编程语言时,在追求速度和效率的同时,每种编程语言都有必要的编码标准,这一点一定不能忽视。
如果你想成为一名优秀的程序员,就必须从一开始就刻意培养自己的编程水平。 比如,刚开始写代码时,不要把原来的多行代码全部写成一行,也不要使用a、b、c等字母作为变量名。
3)开发经验必不可少
如果想要真正熟练掌握(或其他编程语言),拥有大中型产品的开发经验是必不可少的。 它会让你站得更高、看得更远。
例如,我们几乎每天都会使用搜索引擎,但是你知道搜索引擎的服务器端实现吗?
例如,我们几乎每天都会使用搜索引擎,但是你知道搜索引擎的服务器端实现吗? 这是典型的面向对象设计,需要定义一系列相关的类和函数。 还需要综合考虑产品需求、代码复杂度、效率、可读性等方面。 同时,上线后还要进行各方面的工作。 优化等
为了帮助大家更好的学习,这里提供一个学习用的知识图谱,涵盖了核心知识。
所有学习资料已经打包给大家啦~~~
好了,今天的主题就讲到这里吧,不管如何,能帮到你我就很开心了,如果您觉得这篇文章写得不错,欢迎点赞和分享给身边的朋友。