python优点:
- 编写格式优雅,Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂。
- 解释性语言 ,大多数计算机编程语言都是编译型的,在运行之前需要将源码编译为操作系统可以执行的二进制格式(0110格式的),这样大型项目编译过程非常消耗时间,而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行程序。在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。
- 高级语言 ,当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节
- 自动内存管理 ,如果你了解C语言、C++语言你就会知道内存管理给你带来很大麻烦,程序非常容易出现内存方面的漏洞。但是在Python中内存管理是自动完成的,你可以专注于程序本身。
- 具有可移植,可以在不同操作平台间 自由移植
- 面向对象, Python既支持面向过程,又支持面向对象,这样编程就更加灵活。
- 可扩展, Python除了使用Python本身编写外,还可以混合使用像C语言、Java语言等编写。
- 可嵌入性,你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。
- 免费开源,免费/开源 Python的所有内容都是免费开源的,这意味着你不需要花一分钱就可以免费使用Python,并且你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。
- 丰富的第三方库 ,Python具有本身有丰富而且强大的库,而且由于Python的开源特性,第三方库也非常多。
Python缺点:
- 执行效率慢 ,事实上解释性语言都不如编译性语言。
- 线程不能利用多CPU问题,这是Python被人诟病最多的一个缺点,GIL即全局解释器锁(Global Interpreter Lock),是计算机程序设计语言解释器用于同步线程的工具,使得任何时刻仅有一个线程在执行,Python的线程是操作系统的原生线程。在Linux上为pthread,在Windows上为Win thread,完全由操作系统调度线程的执行。一个python解释器进程内有一条主线程,以及多条用户程序的执行线程。即使在多核CPU平台上,由于GIL的存在,所以禁止多线程的并行执行。关于这个问题的折衷解决方法,我们在以后线程和进程章节里再进行详细探讨
- 源码不能加密,不过 python本来开源的。