首页 / 知识
Python 的缺点以及这些缺点是否会致命
2023-11-12 13:39:00
像所有的技术一样,Python也有它的弱点。我将一一介绍最重要的缺陷,并评估这些缺陷是否致命。
速度
Python很慢。真的,非常非常慢。平均而言,使用Python完成一项任务所需的时间,是任何其他编程语言的2~10倍。
造成这种情况的原因有很多。其中之一是,它是动态类型的,记住,你不需要像在其他编程语言那样指定数据类型。这意味着需要使用大量的内存,因为程序需要为它在任何情况下都能工作的每个变量预留足够的空间,而且大量的内存使用意味着大量的计算时间。
另一个原因是,Python一次只能执行一个任务。这是采用灵活数据类型带来的后果:Python需要确保每个变量只有一种数据类型,而并行化的进程可能会弄乱这一点。
相比之下,一般的Web浏览器可以同时运行十几个不同的线程。此外,还有其他一些理论。
但说到底,这些速度问题都无关紧要。计算机和服务器已经变得如此便宜,以至于我们谈论的只是几分之一秒的时间。实际上,最终用户并不在乎他们的应用程序是在0.001秒还是0.01秒内加载的。
作用域
最初,Python的作用域是动态的。这基本上意味着,要计算表达式,编译器首先搜索当前块,然后依次搜索所有调用函数。这就是大多数现代编程语言使用静态作用域的原因。
Python曾试图过渡到静态作用域,但搞砸了。通常情况下,内部作用域(例如函数中的函数)能够查看和更改外部作用域。但在Python中,内部作用域只能看到外部作用域,而不能改变它们,这就导致了很多混乱的情形。
Lambda
尽管Python具有所有的灵活性,但Lambda的使用还是相当受限的。Lambda只能是Python中的表达式,不能是语句。
另一方面,变量声明和语句始终是语句。这意味着Lambda并不能用于它们。
表达式和语句之间的这种区别是相当随意的,在其他编程语言中并不会存在。
空白使代码的可读性更强,但可维护性却更低了。
在Python中,你可以使用空格和缩进来表示不同级别的代码。这使得它在视觉上具有吸引力,理解起来也更直观。
其他编程语言,如C++,则更多地依赖花括号和分号。尽管这可能在视觉上不够吸引人,对初学者也不太友好,但是它使代码更易于维护。对于较大的项目,这个方法更有用。
像Haskell这样的新语言解决了这个问题:它们依赖于空格,但为那些希望不使用空格的人提供了另一种语法。
移动开发
我们正在见证从台式计算机到智能手机的转变,很明显,我们需要强大的语言来开发移动软件。
但使用Python开发的移动应用并不多。不过,这并不意味着它做不到—有一个名为Kivy的Python软件包就是专门用于开发移动应用的。
但是Python在设计时并没有考虑到移动开发。因此,即使它可能会为基本任务产生差强人意的结果,你最好的选择是使用一种专为移动开发而创建的编程语言。一些广泛使用的移动编程框架包括ReactNative、Flutter、Iconic和Cordova。
需要明确的是,笔记本计算机和台式计算机应该会在未来很多年里继续存在。但是,由于移动设备的流量早已超过台式计算机,所以可以肯定地说,学会Python并不足以成为经验丰富的全能开发人员。
运行时错误
Python脚本不是先编译后执行的。相反,它会在每次执行时编译,因此,任何编码错误都会在运行时显示出来。这会导致性能差、耗时长,并且需要进行大量测试。比如,很多很千锋试。
这特别适合初学者,因为测试可以教会他们很多东西。但是对于经验丰富的开发人员来说,必须用Python调试复杂的程序会让他们出错。这种性能的缺乏是在Python上设置时间戳的最大因素。
以上内容为大家介绍了Python的缺点以及这些缺点是否会致命,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注我们http://www.mobiletrain.org/
最新内容
相关内容
为什么开发人员喜欢在机器学习和人
为什么开发人员喜欢在机器学习和人工智能项目中使用Python?,代码,项目,数据,人工智能,平台,异常,增长,灵活,时间,工具,1.Python是灵活的Pytho为何你的Python代码应是扁平与稀疏
为何你的Python代码应是扁平与稀疏的,代码,培训,信息,观察,设计,工具,嵌套,闻闻,程序员,沉思,Python之禅之所以得名,正是由于它那简明扼要的规如何提速优化python代码?
如何提速优化python代码?,代码,时间,数据,新增,写法,包装,情况,下来,面临,工作,Python是一种脚本语言,相比C/C++这样的编译语言,在效率和性能方Python数据结构的时间复杂性
Python数据结构的时间复杂性,时间,项目,情况,平均,复杂度,培训,术语,数据,状态,操作,1.让我们了解大O符号的含义是什么?在算法中执行许多操作python经典最短代码实现排序的功能
python经典最短代码实现排序的功能,代码,位置,数据,分析,时间,序列,元素,培训,下来,算法,冒泡排序:算法思想:1.比较相邻的元素,如果第一个比第二用于业余项目的优秀 Python 库
用于业余项目的优秀 Python 库,数据,工具,项目,信息,培训,系统,地图,下来,工作,管理,1.在数据库中即时保存数据:Dataset当我们想要在不知道最Python集合和时间复杂度
Python集合和时间复杂度,项目,时间,数据,数字,照片,情况,通用,培训,平均,表示,在本文的这一部分中,我将记录CPython中的常见集合,然后概述它们如何让Python代码更易维护
如何让Python代码更易维护,代码,项目,标准,工具,质量,地方,一致,更正,培训,控制权,检查你的代码的质量,通过这些外部库使其更易维护。可读性很python阅读代码有助于养成优秀的代
python阅读代码有助于养成优秀的代码风格,代码,培训,统一,项目,名字,风格,注释,可读性,顾名思义,成份,“优秀的代码不需要文档”,这句话虽然说Python代码统计工具
Python代码统计工具,代码,工具,注释,培训,分析,字符串,引号,脚本,语句,语言,此前实现的C代码统计工具仅能分析和统计C语言代码文件,但其设计思python阅读代码提高编码能力
python阅读代码提高编码能力,代码,概念,培训,资料,能力,时候,实例,进程,技巧,方法,在python中阅读源代码也是提高编码能力的一种途径,就像临摹Python 分类技术
Python 分类技术,技术,数据,分析,概念,产品,价格,房价,系统,培训,连续,分类技术(或分类法)是一种根据输入数据建立分类模型的系统方法,分类法