前面提到,编程语言有“高低”之分,而高级语言又有诸多版本,比如 C 、C++、Java 等,「Python」也是其中之一。Python 语言算得上一门“古老”的编程语言,其流行这么久,必然有它的独到之处,本节我们简单介绍 Python 的相关情况。

Python是什么?

Python,本义是指“蟒蛇”。1989 年,荷兰人 Guido van Rossum(后续简称 Guido)为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,于是便诞生了一种面向对象的解释型高级编程语言,被命名为 Python,其标记如图 1 所示。

图 1 Python 的标志

有人说,之所以 Guido 会选择 Python 作为该编程语言的名字,是因为他是一个叫 Monty Python 戏剧团体的忠实粉丝。

Python 语言是基于 ABC 教学语言的,而 ABC 这种语言非常强大,是专门为非专业程序员设计的。但 ABC 语言并没有获得广泛的应用,Guido 认为是非开放造成的。

ABC 是一种交互式、结构化的高级语言,旨在替代 BASIC、Pascal等语言,用于教学以及原型软件设计。值得一提的是,Python 创始人 Guido 曾在 ABC 系统开发中工作了数年。

Guido 在 Python 中避免了 ABC 不够开放的劣势,加强了 Python 和其他语言如 C、C++ 和 Java 的结合性,令其具有丰富而强大的库,能够把使用其他语言制作的各种模块(尤其是 C 和 C++)很轻松地联结在一起,因此 Python 又常被称为“胶水”语言。

这里的模块,可以简单理解为一个个可实现各种不同功能的方法(也可称为函数)。

Python 的设计哲学为优雅、明确、简单,实际上,Python 始终贯彻着这一理念,以至于如今网络上流传着“人生苦短,我用 Python”的说法。Python 上手非常简单,它的语法非常像自然语言,对非软件专业人士而言,选择 Python 的成本最低,因此某些医学甚至艺术专业背景的人,往往会选择 Python 作为编程语言。正是由于 Python 所具有的这些特性,使得其自 1991 年 Python 第一个公开发行版问世后,自 2004 年起 Python 的使用率呈线性增长,不断受到编程者的欢迎和喜爱;2010 年,Python 荣膺 TIOBE 2010 年度语言桂冠;2017 年,IEEE Spectrum 发布的 2017 年度编程语言排行榜中,Python 位居第 1 位。直至现在(2019 年 6 月份),根据 TIOBE 排行榜的显示,Python 也居于第 3 位,且有继续提升的态势(如表 2 所示)。表 2 TIOBE 2019 年 6 月份编程语言排行榜(前 10 名)Jun 2019Jun 2018ChangeProgramming LanguageRatings11Java15.004%

22C13.300%

34Python8.530%

43C++7.384%

56Visual Basic .NET4.624%

65C#4.483%

78JavaScript2.716%

87PHP2.567%

99SQL2.224%

1016Assembly language1.479%

我们已经不止一次讲过,Python 是一种面向对象、解释型的脚本语言,同时也是一种功能强大而完善的通用型语言。相比其他编程语言(比如 Java),Python 代码非常简单,上手非常容易。举个简单的例子,比如要完成某个功能,如果用 Java 需要 100 行代码,但用 Python 可能只需要 20 行代码,这是 Python 具有巨大吸引力的一大特点。不仅如此,Python 还有其他的特点,下面就给大家做一下总结。

Python 特点:简单易学

Python 是一种代表简单注意思想的语言,阅读一个良好的 Python 程序,即使是在 Python 语法要求非常严格的大环境下,给人的感觉也像是在读英语段落一样。换句话说,Python 编程语言最大的优点之一,是其具有伪代码的特质,它可以让我们在开发 Python 程序时,专注于解决问题,而不是搞明白语言本身。

Python 特点:开源

Python 是 FLOSS(自由/开源源码软件)之一,简单地理解就是,用户使用 Python 进行开发和发布自己编写的程序,不需要支付任何费用,也不用担心版权问题,即使作为商业用途,Python 也是免费的。开源正在成为软件行业的一种发展趋势,现在有很多商业软件公司都开始将自己的产品变成开源的(例如 Java)。也许,Python 的开源正是它如此优秀的原因之一,因为会有这么一群人,他们希望看到一个更加优秀的 Python,从而为了这个目标,不断地对 Python 进行创造,不断地改进。

Python 特点:高级语言

Python 是高级语言,因此当使用 Python 语言编写程序时,我们无需再考虑一些底层细节方面的问题。例如,如何管理程序使用的内存等等。

Python 特点:解释型语言

一个用编译型语言(如 C 或 C++)写的程序,可以从源文件转换到一个计算机使用的语言。这个过程主要通过编译器完成。当运行程序的时候,我们可以把程序从硬盘复制到内存中并且运行。而 Python 语言写的程序,则不需要编译成二进制代码,可以直接从源代码运行程序。在计算机内部,由 Python 解释器把源代码转换成字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。事实上,由于不再担心如何编译程序,使得使用 Python 变得更加简单,我们只需要将 Python 程序复制到另外一台计算机上,它就可以工作了。因此,Python 程序更加易于移植。

Python 特点:可移植性

由于 Python 是开源的,它已经被移植到许多平台上。如果能够避免使用依赖系统的特性,那就意味着,所有 Python 程序都无需修改就可以在好多平台上运行,包括 Linux 、Windows、FreeBSD、Solaris 等等,甚至还有 PocketPC、Symbian 以及 Google 基于 Linux 开发的 Android 平台。解释型语言几乎天生就是跨平台的。Python 作为一门解释型的语言,它天生具有跨平台的特征,只要为平台提供了相应的 Python 解释器,Python 就可以在该平台上运行。

Python 特点:面向对象

Python 既支持面向过程编程,也支持面向对象编程。在“面向过程”的语言中(如 C 语言),程序仅仅是由可重用代码的函数构建起来的;而在“面向对象”的语言(如 C++)中,程序是由数据和功能组合而成的对象构建起来的。与其他编程语言(如 C++ 和 Java)相比,Python 是以一种非常强大,而又简单的方式实现的面向对象编程。

Python 特点:强大的功能

Python 强大的功能也许才是很多用户支持 Python 的最重要的原因,从字符串处理到复杂的 3D 图形编程,Python 借助扩展模块都可以轻松完成。实际上,Python 的核心模块已经提供了足够强大的功能,使用 Python 精心设计的内置对象可以完成许多功能强大的操作。此外,Python 的社区也很发达,即使一些小众的应用场景,Python 往往也有对应的开源模块来提供解决方案。

Python 特点:可扩展性

Python 的可扩展性体现为它的模块,Python 具有脚本语言中最丰富和强大的类库,这些类库覆盖了文件 I/O、GUI、网络编程、数据库访问、文本操作等绝大部分应用场景。Python 可扩展性一个最好的体现是,当我们需要一段关键代码运行的更快时,可以将其用 C 或 C++ 语言编写,然后在 Python 程序中使用它们即可。除了以上几个特点(也可称之为优点)之外,作为一个解释型语言,Python 自然也有一些弱点,比如:速度慢:Python 程序比 Java、C、C++ 等程序的运行效率都要慢。

源代码加密困难:不像编译型语言的源程序会被编译成目标程序,Python 直接运行源程序,因此对源代码加密比较困难。

其实,这两个缺点并不是什么大问题,首先,由于目前计算机的硬件速度越来越快,软件工程往往更关注开发过程的效率和可靠性,而不是软件的运行效率;至于第二个问题就更不是问题了,现在软件行业的大势本就是开源,就像 Java 程序同样很容易反编译,但丝毫不会影响它的流行。

本文来自投稿,不代表访得立场,如若转载,请注明出处:http://www.found5.com//view/1271.html

简述python的优点_Python是什么及Python的优点和缺点相关推荐

  1. 视频教程-快速入门Python基础教程_Python基础知识大全-Python

    快速入门Python基础教程_Python基础知识大全 十余年计算机技术领域从业经验,在中国电信.盛大游戏等多家五百强企业任职技术开发指导顾问,国内IT技术发展奠基人之一. 杨千锋 ¥99.00 立即 ...

  2. 视频教程-快速入门Python基础教程_Python基础进阶视频-Python

    快速入门Python基础教程_Python基础进阶视频 十余年计算机技术领域从业经验,在中国电信.盛大游戏等多家五百强企业任职技术开发指导顾问,国内IT技术发展奠基人之一. 杨千锋 ¥199.00 立 ...

  3. 哪一项不是python的优点_Python有哪些技术上的优点?比其他语言好在哪儿?

    作者:马克·卢茨(Mark Lutz) 本文经授权转自:大数据(ID:hzdashuju) 导读:本文是对Python一些最优的技术特性的快速介绍,以解答初学者关心的问题并消除他们最常见的疑惑. 01 ...

  4. python的认识_Python学习之认识python

    Python 版本 ​Python 从1989年诞生的第一个版本,到目前为止,存在 python2 和 python3 两个版本,并且两个版本不兼容.目前python 程序中 python2 占比依然 ...

  5. [转载] 递归函数python基例_python递归函数详解 python 递归函数使用装饰器

    参考链接: Python递归 移动宽带检查显示 CRM,radius状态不一致是怎么回事啊?您可以把电信宽带猫等设备重启试一下,如果仍然不行,可以拨打10000号请工作人员帮您查看.处理. 电信宽带诊 ...

  6. python pyplot安装_Python学习-windows安装Python以及matplotlib.pyplot包

    引文: Python自带了许多的库文件,其中matplotlib可以做出类似于MATLAB和R语言一样绘制出很好的图形功能,下面介绍下怎么安装这个包,因为自己安装的时候很多地方都出错了. 环境: Wi ...

  7. python中文免费版_Python官方免费版下载|Python中文版 V3.8.0 -推背图下载站

    Python中文版是一款便捷的计算机程序设计语言,Python中文版它能够帮助程序员快速编写代码,并且脚本运行速度非常快,中内置丰富的类库,随着功能的不断更新,添加越来越多的新功能,它能够处理的任务越 ...

  8. python cms模板_python基础-第一个python程序

    前言 上一章中,我们介绍了怎么去安装python环境,作为我们入门python的先决条件,今天,我们通过编写第一个python应用程序的方式,正式进入python的大门. 首先,关于python,有两 ...

  9. 开源的python有限元软件_Python与有限元--基于Python编程的有限元分析及应用扩展...

    第1章  编程基础--Python.Numpy.Matplotlib简介 1.1  Python简介 1.1.1  什么是Python 1.1.2  Python及其库安装 1.1.3  Python ...

最新文章

  1. R语言时间序列(time series)分析实战:简单指数平滑法预测
  2. SpringMVC应用和RESTful应用的区别
  3. jQuery一些常用特效方法使用实例
  4. 《Adobe Photoshop CC经典教程(彩色版)》—第4课4.7节添加调整图层
  5. hdu 5188 dfs+二分
  6. parameter与define 区别
  7. 集合框架之Map LinkedHashMap
  8. java中使用Semaphore构建阻塞对象池
  9. 20、成员变量和属性
  10. JS 函数参数arguments对象(实例)
  11. python作用域——LEGB规则
  12. ROS笔记(27) 机械臂的组装
  13. C语言新手写扫雷攻略1
  14. 关于delphi2010读取MySQL数据库TEXT类型乱码的解决方案
  15. MYSQL:RELPACE用法
  16. Windows下MySQL的安装步骤(有图详解)
  17. C#写的制程能力CPK分析程序
  18. android手机客户端,【图片】安卓[android]手机客户端版发布【联盟守卫吧】_百度贴吧...
  19. Windows Server 2012 修复ms17-010漏洞提示 此更新不适用于你的计算机
  20. Unity 大面积草风吹动效果+受人物影响

热门文章

  1. android+ndk+libevent,android ndk 编译 libevent
  2. css悬浮在某个span后面,在contenteditable div中的span元素后面设置光标
  3. .net core 获取binary 文件_Linux操作系统文件目录
  4. 如何解决服装面料纬斜问题
  5. php语法基础考试,我的php学习第二十六天——PHP基础语法
  6. 阿里重磅开源中后台UI解决方案Fusion
  7. 【iCore1S 双核心板_ARM】例程五:IWDG看门狗实验——复位ARM
  8. iOS静态库.a文件制作和导入使用
  9. Java 序列化和反序列化
  10. DevExpress之TreeList用法