可扩展性
Python 的可扩展性体现为它的模块,Python 具有脚本语言中最丰富和强大的类库,这些类库覆盖了文件 I/O、GUI、网络编程、数据库访问、文本操作等绝大部分应用场景。
Python 可扩展性一个最好的体现是,当我们需要一段关键代码运行的更快时,可以将其用 C 或 C 语言编写,然后在 Python 程序中使用它们即可。
虽然Python有很多优点,但是也并不是没有缺点,最主要的缺点有以下几个:
Python 的执行速度不够快。相比于比 Java、C、C 等程序,Python 的运行效率要稍微慢些。不过,这也不是一个很严重的问题,一方面,网络或磁盘的延迟,会抵消掉部分 Python 本身消耗的时间;另一方面,因为 Python 特别容易和 C 结合起来,因此,我们可以通过分离一部分需要优化速度的应用,将其转换为编译好的扩展,并在整个系统中使用 Python 脚本将这部分应用连接起来,以提高程序的整体效率。
Python 的 GIL 锁限制并发:Python 的另一个大问题是,对多处理器支持不好。GIL 是指 Python 全局解释器锁(Global Interpreter Lock),当 Python 的默认解释器要执行字节码时,都需要先申请这个锁。这意味着,如果试图通过多线程扩展应用程序,将总是被这个全局解释器锁限制。
不过,我们也可以使用多进程的架构来提高程序的并发,也可以选择不同的 Python 实现来运行我们的程序。
源代码加密困难:不像编译型语言的源程序会被编译成目标程序,Python 直接运行源程序,因此对源代码加密比较困难。
总而言之,作为一种编程语言,Python在兼顾质量和效率方面有很好的平衡,尤其对新手而言,Python是一种十分友好的语言。