python是用C写的
网络应用(网站、后台服务......)、日常需要的小工具(包括系统管理员需要的脚本任务.......)
优点:
简单、明确、优雅
开发效率高,拥有强大的第三方库(基本上你想通过计算机实现的任何功能,python官方库里都有对应的模块进行支持,直接下载调用后,在基础库的基础上进行开发,大大降低了开发周期,避免重复造轮子)
高级语言(用python语言编写程序时,无需考虑诸如如何管理你的程序使用的内存一类的底层细节)
可移植性(由于开源本质的原因,Python程序无需修改就几乎可以在市场上所有的系统平台上运行)
可扩展性(如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们)
可嵌入性(你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能)
缺点:
运行速度慢(python语言属于解释型语言,你的代码执行时,解释器会把代码内容读到内存里,通过python解释器翻译成字节码,CPU无法直接读取字节码,需转换成机器码读取执行;而C语言是运行前直接编译成CPU能够执行的机器码,所以运行速度很快)
代码不能加密,发布python程序的同时,实际上也发布了源代码(C语言则不需要发布源代码,只需要把编译好的机器码发布出去即可,而从机器码反推C码是不可能的,所以凡是编译型代码,都是没有这个问题的;而解释型代码,都需将源码发布出去)
线程不能利用多CPU问题(GIL即全局解释器锁(Global Interpreter Lock),是计算机程序设计语言解释器用于同步线程的工具,使得任何时刻仅有一个线程在执行,Python的线程是操作系统的原生线程。在Linux上为pthread,在Windows上为Win thread,完全由操作系统调度线程的执行。一个python解释器进程内有一条主线程,以及多条用户程序的执行线程。即使在多核CPU平台上,由于GIL的存在,所以禁止多线程的并行执行)
原文:https://www.cnblogs.com/zyjqwq/p/14251817.html