美文网首页
Python 的优缺点

Python 的优缺点

作者: optongbuding | 来源:发表于2020-10-11 16:43 被阅读0次

学号:20021210654

姓名:潘文欣

转载自:https://mp.weixin.qq.com/s/OO5aZkxdd94sZ5D2VzMXpw

【嵌牛导读】:Python经过了几十年的努力才得到了编程社区的赏识。自2010年以来,Python得到了蓬勃发展,并最终超越了C、C#、Java和JavaScript。本文讨论促成Python大面积普及的优势,以及将来导致它陨落的弱点。

【嵌牛鼻子】:Python

【嵌牛提问】:Python为什么会流行?导致Python未来陨落的缺点有什么?

【嵌牛正文】:

    促成Python流行的因素

通过Stack Overflow发展趋势就可以洞悉Python的成功。考虑到StackOverflow的规模,我们可以认为这是衡量编程语言流行度的一个很好的指标。

Python是一种古老的语言

Python于90年代问世。这不仅意味着Python有足够的时间成长,而且还拥有了一个庞大的支持社区。

因此,如果你在使用Python进行编程时遇到任何问题,只需上网搜索就可以得到答案。因为总是会有人在这之前就遇到了这个问题,并为此撰写了一些有用的资料。

对初学者很友好

Python对初学者友好的原因不仅仅是因为它已经存在了数十年,予以程序员足够的时间编写出色的教程,而且还因为Python的语法非常易于理解。

用途广泛

由于Python已经存在了很长时间,因此开发人员为之开发出了各色的软件包。如今,无论遇到什么问题,你都可以找到相关的软件包。

想处理数字、向量和矩阵?那么就来试试 NumPy 吧。

想进行技术和工程的计算?那么就来试试 SciPy 吧。

想操作和分析大数据?那么就来试试 Pandas 吧。

想学习人工智能?为什么不试试 Scikit-Learn 呢。

无论你需要进行哪方面的计算任务,都可以找到相关的Python软件包。由于过去几年中机器学习的迅猛发展,Python已经站在了时代发展的最前沿。

     Python的缺点,这些缺点是否致命?

速度

Python很慢,非常非常慢。平均而言,使用Python完成某个任务所需的时间是使用任何其他语言的2–10倍。

其中的原因有很多。其中之一是因为Python是动态类型的,别忘了你不需要像其他语言一样指定数据类型。这意味着内存的耗费非常大,因为在任何情况下程序都需要为每个变量保留足够的空间。而巨大的内存使用量必然需要耗费大量的计算时间。

另一个原因是Python一次只能执行一个任务。这是灵活的数据类型带来的结果,Python需要确保每个变量只有一个数据类型,而并行进程可能会在这一点上出问题。

但最终所有的速度问题都不打紧。因为电脑和服务器的价格越来越低,我们谈论的也只不过是几分之一秒的问题。最终用户并不真正在乎他们的应用加载需要0.001还是0.01秒。

范围

最初,Python是动态作用域。这基本上意味着,为了评估表达式,编译器首先需要搜索当前块,然后依次搜索所有调用函数。

动态作用域的问题在于,每个表达式都需要在所有上下文中进行测试,这很繁琐。在Python中,内部作用域只能看到外部作用域,但不能更改。因此引发了很多混乱。

Lambdas

尽管Python非常灵活,但Lambdas的使用还是有一定的局限性。Lambda只能是Python中的表达式,而不能是语句。

另一方面,变量声明和语句始终是语句,这意味着它们不能使用Lambda。

在Python中,表达式和语句之间的区别相当随意,这是其他编程语言都没有的问题。

空白

在Python中,你需要使用空白和缩进来表示不同级别的代码。这种格式具有视觉吸引力,而且易于理解。

其他编程语言(例如C++)都需要依赖大括号和分号。尽管这可能在视觉上没有那么强的吸引力,而且对初学者不够友好,但可以提高代码的可维护性。在大型项目中,这种方式更为妥当。

移动开发

我们目睹了从台式机向智能手机的转变,很明显,我们需要强大的语言来构建移动软件。

然而,使用Python开发的移动应用并不多。这并不意味着Python无法开发移动应用,你可以试试看一个名为 Kivy 的 Python 包。

但是,Python的设计被没有考虑到移动设备。因此,即使Python可以应付基本的任务,但我们最好还是选择专门为移动应用程序开发而创建的语言。广泛用于移动编程的语言包括:React Native、Flutter、Iconic和Cordova。

我们需要明确的是,笔记本电脑和台式计算机已经存在很多年了。然而,由于移动设备的使用已然超越了桌面设备,因此我们肯定地说,学习Python不足以成为经验丰富的全方面开发人员。

运行时错误

Python不需要首先编译,然后再执行。相反,它会在每次执行时编译,因此所有编程上的错误都会在运行时显示出来。这会导致性能下降、浪费时间,而且还需要进行大量测试。

对于初学者来说,这未必是坏事,因为测试可以教会他们很多知识。然而,对于经验丰富的开发人员而言,必须使用Python调试复杂的程序很令人头疼。性能欠缺是Python最大的问题。

   Python什么时候会被取代?

如今,编程语言市场上涌现了新的竞争力量:

Rust提供了与Python相同的安全性——不会意外覆盖任何变量。但是,它通过所有权和借用的概念解决了效率的问题。根据StackOverflow Insights,Rust是近几年最受欢迎的编程语言。

Go 与 Python 一样非常适合初学者。语言本身非常简单,维护代码更加简单。此外,有趣的是,Go开发人员是市场上收入最高的程序员之一。

Julia是一种非常新的语言,可与Python正面竞争。Julia填补了大规模技术计算的空白:以前,人们通常都需要使用Python或Matlab编写代码,然后再使用C++库修补整个程序,因为C++库是大规模必不可少的。如今,人们可以使用Julia,而不必在两种语言之间挣扎。

尽管市场上还有其他语言,但Rust、Go和Julia 可以弥补Python的弱点。所有这些语言在即将到来的技术中都有出色的表现,最典型的就是人工智能。尽管它们的市场份额仍较小,但根据StackOverflow的数据显示,这些语言的发展呈现出明显的上升趋势。

如今,Python无处不在,我们还需要很长的时间,才有可能看到Python被新语言所替代。

相关文章

  • Python-05知识-01Python优缺点.md

    Python-05 知识-01Python 优缺点 tags: Python 基础知识 优缺点 2020年 01月...

  • 2018-07-17 day 2

    一.python 入门 初始pythonpython的历史python的优缺点python应用编程工具:IDLE,...

  • day2-初始python和基础语法

    一、初始python python简介 python历史 python优缺点 python应用领域 开发工具介绍 ...

  • Python简介

    自学整理记录,大神见笑 目标 Python起源 为什么要用Python Python的特点 Python的优缺点 ...

  • 1.认识python

    目标 一、 python的起源 二、为什么要用python 三、python的特点 四、python的优缺点 一、...

  • 零基础Python教程第2节Python简介

    作者:孚白 导读 Python的发明者 编程语言区别 Python的优缺点 Python的应用 Python的发明...

  • 1.2 编程语言和Python

    Python创始人吉多(龟叔),荷兰人。 Python正是诞生于1991年。 1.2.1 Python的优缺点 优...

  • 千锋的第二天

    一、Python的简介 1、Python的发展史 2、Python的优缺点 优点:7点(主要优点语言简洁,开发时间...

  • Python能做什么和优缺点

    Python能做什么 Python的优缺点 优点 简单————python是一种代表简单主义思想的语言。阅读一个良...

  • 【Python入门】1.小白的Python入门宝典

    本节摘要:Python的优缺点;Python下载及安装使用教程 Daily Record:每天一纪念,记录下pyt...

网友评论

      本文标题:Python 的优缺点

      本文链接:https://www.haomeiwen.com/subject/xdpepktx.html