Python的缺点和劣势分析

 更新时间:2019年11月19日 14:17:09   投稿:laozhang  
在本篇文章里小编给大家整理了关于Python的缺点和劣势总结,有兴趣的朋友们可以学习下。

Python的短板

虽然Python拥有很多优点,但没有哪种编程语言能够胜任所有工 作,因此Python并不能完美地满足一切需求。如果要确定Python是否适 用于当前场景,还需要了解Python不擅长的领域。

Python不是速度最快的语言

Python的执行速度可能算得上是一个缺点。Python不是一个完全编 译的语言,而是先编译为内部字节码形式,然后交由Python解释器来执 行。Python为某些操作给出了高效的实现,例如,用正则表达式解析字 符串,可以做到与自己编写的任何C语言代码一样快,甚至会更快。但 在大多数情况下,采用Python会比C之类的语言实现更慢。但大家应该 保持以下观点:对绝大多数应用程序而言,现代计算机的计算能力都是 过剩的。开发速度比程序运行速度更为重要,而Python程序通常编写速 度会快很多。另外,用C或C ++编写的模块对Python进行扩展也比较容 易,程序当中的CPU密集型部分可以交由这些模块来运行。

Python的库不算最多

虽然Python自带了一批优秀的函数库集合,而且还有很多其他库可 用,但是Python在库的数量上并不算领先。像C、Java和Perl之类的编程 语言,可用的库集合数量更为庞大。它们在某些领域提供的解决方案是 Python所没有的,或者Python可能只提供了其中的一种可选方案。不过 这些往往是相当专业的领域,而Python是很容易扩展的,既可以用 Python,也可以用C或其他语言的现有库。对于几乎所有的常规计算问 题,Python库的支持能力都非常出色。

Python在编译时不检查变量类型

与某些其他编程语言不同,Python变量不像容器那样工作,而更像 是引用整数、字符串、类实例等各类对象的标签。这表示这些对象本身 虽然是有类型的,但引用它们的变量并没有与类型进行绑定。变量x可 能在某一行代码中引用一个字符串,而在另一行代码中引用一个整数:

 

>>> x = "2" 
>>> x '2'   ⇽--- x为字符串"2" 
>>> x = int(x) >>> x 
2    ⇽--- 现在x为整数值2

Python将类型与对象关联,而不是与变量关联,这就意味着Python 解释器无法识别出变量类型不符的错误。假设变量count本来是用来保 存整数的,但如果将字符串"two"赋给它,在Python里也完全没问题。 传统的程序员将这种处理方式算作一个缺点,因为对代码失去了额外的 免费检查。但是这种错误通常不难发现和修复,Python的代码检测功能 可以避免类型错误的发生。大多数Python程序员都认为,动态类型的灵 活性是划得来的。

Python对移动应用的支持不足

在过去的10年中,移动设备的数量和种类都出现了爆炸式的增长, 到处都是智能手机、平板电脑、平板手机、Chromebook,运行的操作 系统也是五花八门。Python在移动计算领域并不算强大。虽然有解决方 案可选,但在移动设备上运行Python并不总是能一帆风顺,用Python编 写和发布商业应用还存在问题。

Python对多处理器的利用不充分

现在多核处理器已经普及,在很多情况下也都会带来性能的明显提 升。但是,由于具有名为全局解释器锁(global interpreter lock,GIL) 的特性,Python的标准版本并没有按照多内核来进行设计。详情请查看 David Beazley、Larry Hastings等人关于GIL的讨论视频,或者访问 Python wiki里的GIL页面。尽管用Python可以运行并发进程,但如果需 要“开箱即用”的并发能力,Python可能并不合适。

以上就是全部相关知识点,感谢大家的学习和对脚本之家的支持。

相关文章

  • 如何使用Python OpenCV提取物体轮廓详解

    如何使用Python OpenCV提取物体轮廓详解

    图像的轮廓检测不论是机器视觉还是其他方面都有较大作用,下面这篇文章主要给大家介绍了关于如何使用Python OpenCV提取物体轮廓的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • pycharm2021激活码使用教程(永久激活亲测可用)

    pycharm2021激活码使用教程(永久激活亲测可用)

    pycharm2021激活码是一个可以轻松帮助用户免费激活pycharm2021.1软件的文件,虽然说pycharm现在只是推出了2021.1的EAP版,但是如果你想先率先体验一波,那么就可以利用小编提供的这个激活码来进行使用啦,并这个激活码是永久有效的
    2021-03-03
  • python方法生成txt标签文件的实例代码

    python方法生成txt标签文件的实例代码

    今天小编就为大家分享一篇python方法生成txt标签文件的实例代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Python如何使用qrcode生成指定内容的二维码并在GUI界面显示

    Python如何使用qrcode生成指定内容的二维码并在GUI界面显示

    现在二维码很流行,大街小巷大小商品广告上的二维码标签都随处可见,下面这篇文章主要给大家介绍了关于如何使用qrcode生成指定内容的二维码并在GUI界面显示的相关资料,需要的朋友可以参考下
    2022-09-09
  • Python必备技巧之字符数据操作详解

    Python必备技巧之字符数据操作详解

    处理字符数据是编程不可或缺的一部分。Python 提供了一组丰富的运算符、函数和方法来处理字符串。包括字符串运算符、内置函数、索引、切片和内置方法。快来学习一下吧
    2022-03-03
  • Python办公自动化之文件的比较合并与xml操作

    Python办公自动化之文件的比较合并与xml操作

    这篇文章主要为大家详细介绍了Python办公自动化之文件的比较合并与xml文件操作的相关知识,文中的示例代码讲解详细,需要的可以参考一下
    2023-12-12
  • Python中新式类与经典类的区别详析

    Python中新式类与经典类的区别详析

    这篇文章主要给大家介绍了关于Python中新式类与经典类的区别,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • 关于torch.scatter与torch_scatter库的使用整理

    关于torch.scatter与torch_scatter库的使用整理

    这篇文章主要介绍了关于torch.scatter与torch_scatter库的使用整理,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • Python3.7 dataclass使用指南小结

    Python3.7 dataclass使用指南小结

    本文将带你走进python3.7的新特性dataclass,通过本文你将学会dataclass的使用并避免踏入某些陷阱。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02
  • 使用浏览器访问python写的服务器程序

    使用浏览器访问python写的服务器程序

    这篇文章主要介绍了用浏览器访问python写的服务器程序,本文通过实例代码,需要的朋友可以参考下
    2019-10-10

最新评论