Python 的缺点以及这些缺点是否会致命

发布时间:2022-03-09 09:46:27 人气:332 作者:多测师

  像所有的技术一样,Python 也有它的弱点。我将一一介绍最重要的缺陷,并评估这些缺陷是否致命。

  速度

  Python 很慢。真的,非常非常慢。平均而言,使用 Python 完成一项任务所需的时间,是任何其他编程语言的 2~10 倍。

  造成这种情况的原因有很多。其中之一是,它是动态类型的,记住,你不需要像在其他编程语言那样指定数据类型。这意味着需要使用大量的内存,因为程序需要为它在任何情况下都能工作的每个变量预留足够的空间,而且大量的内存使用意味着大量的计算时间。

  另一个原因是,Python 一次只能执行一个任务。这是采用灵活数据类型带来的后果:Python 需要确保每个变量只有一种数据类型,而并行化的进程可能会弄乱这一点。

  相比之下,一般的 Web 浏览器可以同时运行十几个不同的线程。此外,还有其他一些理论。

  但说到底,这些速度问题都无关紧要。计算机和服务器已经变得如此便宜,以至于我们谈论的只是几分之一秒的时间。实际上,最终用户并不在乎他们的应用程序是在 0.001 秒还是 0.01 秒内加载的。

Python 的缺点以及这些缺点是否会致命

  作用域

  最初,Python 的作用域是动态的。这基本上意味着,要计算表达式,编译器首先搜索当前块,然后依次搜索所有调用函数。这就是大多数现代编程语言使用静态作用域的原因。

  Python 曾试图过渡到静态作用域,但搞砸了。通常情况下,内部作用域(例如函数中的函数)能够查看和更改外部作用域。但在 Python 中,内部作用域只能看到外部作用域,而不能改变它们,这就导致了很多混乱的情形。

  Lambda

  尽管 Python 具有所有的灵活性,但 Lambda 的使用还是相当受限的。Lambda 只能是 Python 中的表达式,不能是语句。

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

  表达式和语句之间的这种区别是相当随意的,在其他编程语言中并不会存在。

  空白使代码的可读性更强,但可维护性却更低了。

  在 Python 中,你可以使用空格和缩进来表示不同级别的代码。这使得它在视觉上具有吸引力,理解起来也更直观。

  其他编程语言,如 C++,则更多地依赖花括号和分号。尽管这可能在视觉上不够吸引人,对初学者也不太友好,但是它使代码更易于维护。对于较大的项目,这个方法更有用。

  像 Haskell 这样的新语言解决了这个问题:它们依赖于空格,但为那些希望不使用空格的人提供了另一种语法。

  移动开发

  我们正在见证从台式计算机到智能手机的转变,很明显,我们需要强大的语言来开发移动软件。

  但使用 Python 开发的移动应用并不多。不过,这并不意味着它做不到 — 有一个名为 Kivy 的 Python 软件包就是专门用于开发移动应用的。

  但是 Python 在设计时并没有考虑到移动开发。因此,即使它可能会为基本任务产生差强人意的结果,你最好的选择是使用一种专为移动开发而创建的编程语言。一些广泛使用的移动编程框架包括 React Native、Flutter、Iconic 和 Cordova。

  需要明确的是,笔记本计算机和台式计算机应该会在未来很多年里继续存在。但是,由于移动设备的流量早已超过台式计算机,所以可以肯定地说,学会 Python 并不足以成为经验丰富的全能开发人员。

  运行时错误

  Python 脚本不是先编译后执行的。相反,它会在每次执行时编译,因此,任何编码错误都会在运行时显示出来。这会导致性能差、耗时长,并且需要进行大量测试。比如,很多很多测试。

  这特别适合初学者,因为测试可以教会他们很多东西。但是对于经验丰富的开发人员来说,必须用 Python 调试复杂的程序会让他们出错。这种性能的缺乏是在 Python 上设置时间戳的最大因素。

  以上内容为大家介绍了Python 的缺点以及这些缺点是否会致命,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注多测师。https://www.e70w.com/xwzx/

返回列表
在线客服
联系方式

热线电话

17727591462

上班时间

周一到周五

二维码
线