目录
Python的创始人为吉多·范罗苏姆(Guido van Rossum),如下图,少数几个不秃头的语言创始人。1989年的圣诞节期间,Guido为了打发圣诞节的无聊时光,开始写能够解释Python语言语法的解释器。Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus。他希望这个新的叫做Python的语言,能符合他的理想:创造一种C和shell之间,功能全面,易学易用,可拓展的语言。
最新的TIOBE排行榜,Python赶超PHP占据第4, Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言。
Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。
一定要注意的一点,我们说的Python,其实说的是Python解释器。
Python刚问世的时候,大多数公司原有的软件是python2.+写的(这不废话吗?),由于开发软件是需要成本的,因此一些公司无法抛弃以前的代码,所以曾经在2008年推出3.+版本的python时,还需要推出2.+版本的升级版本,给公司2.+版本开发的软一段时间过度。但是公司的软件是有生命周期的,历史遗留的2.+开发的软件逐渐会消失,所以2.+版本不再更新了,以后统一都使用3.+版本。
我们现在知道了Python是一门解释型语言,代码想运行,必须通过解释器执行,Python的解释器本身也可以看作是个程序(翻译官司是哪国人不重要),这个程序是什么语言开发的呢? 答案是好几种语言? what? 因为Python有好几种解释器,分别基于不同语言开发,每个解释器特点不同,但都能正常运行我们的Python代码,下面分别来看下各种不同类型的Python解释器的区别。
CPython是使用最广且被的Python解释器。本教程以CPython为准。当我们从Python官方网站下载并安装好Python 2.7后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。
IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。
PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。
绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点。
Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。
IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。
命令行输入python,然后输入print('hello world'),致敬这句伟大的话!如果运行成功,则表明你的Python安装没有任何问题。此时你可以想想发明计算机的那个时刻,计算机输出了一句"hello world",那是孕育新生儿的内心的舒畅。
接下来我们看看其他语言的hello world,让你体会python的简洁。
#include <iostream> int main(void) { stdout<"hello world"; }
#include <stdio.h> int main(void) { printf("\nhello world!"); return 0; }
public class HelloWorld{ // 程序的入口 public static void main(String args[]){ // 向控制台输出信息 System.out.println("hello world!"); } }
<?php echo "hello world!"; ?>
# 六、日本人开发的,砸日本车的时候,顺手就把你拖出去打死了,祭天 puts "hello world."
package main import "fmt" func main(){ fmt.Printf("hello world!\n"); }