Python和Python解释器

目录

  • Python和Python解释器

    • 一、Python介绍
    • 二、Python解释器发展史
    • 三、Python解释器的类型
      • 3.1 CPython
      • 3.2 IPython
      • 3.3 PyPy
      • 3.4 Jython
      • 3.5 IronPython
    • 四、第一个Python程序
    • 五、其它语言的hello world
      • 5.1 C++
      • 5.2 C
      • 5.3 JAVA
      • 5.4 PHP
      • 5.5 Ruby
      • 6.1 GO

Python和Python解释器

一、Python介绍

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解释器发展史

Python刚问世的时候,大多数公司原有的软件是python2.+写的(这不废话吗?),由于开发软件是需要成本的,因此一些公司无法抛弃以前的代码,所以曾经在2008年推出3.+版本的python时,还需要推出2.+版本的升级版本,给公司2.+版本开发的软一段时间过度。但是公司的软件是有生命周期的,历史遗留的2.+开发的软件逐渐会消失,所以2.+版本不再更新了,以后统一都使用3.+版本。

  • 1989年,Guido开始写Python语言的编译器。
  • 1991年,第一个Python编译器诞生。它是用C语言实现的,并能够调用C语言的库文件。从一出生,Python已经具有了:类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。
  • Granddaddy of Python web frameworks, Zope 1 was released in 1999
  • Python 1.0 - January 1994 增加了 lambda, map, filter and reduce.
  • Python 2.0 - October 16, 2000,加入了内存回收机制,构成了现在Python语言框架的基础
  • Python 2.4 - November 30, 2004, 同年目前最流行的WEB框架Django 诞生
  • Python 2.5 - September 19, 2006
  • Python 2.6 - October 1, 2008
  • Python 2.7 - July 3, 2010
  • In November 2014, it was announced that Python 2.7 would be supported until 2020, and reaffirmed that there would be no 2.8 release as users were expected to move to Python 3.4+ as soon as possible
  • Python 3.0 - December 3, 2008 (这里要解释清楚 为什么08年就出3.0,2010年反而又推出了2.7?是因为3.0不向下兼容2.0,导致大家都拒绝升级3.0,无奈官方只能推出2.7过渡版本)
  • Python 3.1 - June 27, 2009
  • Python 3.2 - February 20, 2011
  • Python 3.3 - September 29, 2012
  • Python 3.4 - March 16, 2014
  • Python 3.5 - September 13, 2015
  • Python 3.6 - 2016-12-23 发布Python3.6.0版
  • Python 3.7 - 2018-6-27 发布Python3.7.0版
  • Python 3.8 - 2019-2-4发布了Python 3.8.0.a1测试版

三、Python解释器的类型

我们现在知道了Python是一门解释型语言,代码想运行,必须通过解释器执行,Python的解释器本身也可以看作是个程序(翻译官司是哪国人不重要),这个程序是什么语言开发的呢? 答案是好几种语言? what? 因为Python有好几种解释器,分别基于不同语言开发,每个解释器特点不同,但都能正常运行我们的Python代码,下面分别来看下各种不同类型的Python解释器的区别。

3.1 CPython

CPython是使用最广且被的Python解释器。本教程以CPython为准。当我们从Python官方网站下载并安装好Python 2.7后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。

3.2 IPython

IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。

3.3 PyPy

PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。

绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点。

3.4 Jython

Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。

3.5 IronPython

IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。

四、第一个Python程序

命令行输入python,然后输入print(‘hello world‘),致敬这句伟大的话!如果运行成功,则表明你的Python安装没有任何问题。此时你可以想想发明计算机的那个时刻,计算机输出了一句"hello world",那是孕育新生儿的内心的舒畅。

五、其它语言的hello world

接下来我们看看其他语言的hello world,让你体会python的简洁。

5.1 C++

Copy#include <iostream>
 int main(void)
 {
  stdout<"hello world";
 }

5.2 C

Copy#include <stdio.h>
int main(void)
{
printf("\nhello world!");
return 0;
}

5.3 JAVA

Copypublic class HelloWorld{
  // 程序的入口
  public static void main(String args[]){
    // 向控制台输出信息
    System.out.println("hello world!");
  }
}

5.4 PHP

Copy<?php
             echo "hello world!";
?>

5.5 Ruby

Copy# 六、日本人开发的,砸日本车的时候,顺手就把你拖出去打死了,祭天

 puts "hello world."

6.1 GO

Copypackage main
import "fmt"
func main(){
    fmt.Printf("hello world!\n");
}

原文地址:https://www.cnblogs.com/zhulipeng-1998/p/12386197.html

时间: 2024-08-03 09:07:50

Python和Python解释器的相关文章

python是一个解释器

python是一个解释器 利用pip安装python插件的时候,观察到python的运作方式是逐步解释执行的 适合作为高级调度语言: 异常的处理以及效率应该是主要的问题

[译]Python编写虚拟解释器

使用Python编写虚拟机解释器 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到程序: 1. LX终端(LXTerminal):Linux命令行终端,打开后会进入Bash环境,可以使用Linux命令2. GVim:非常好用的编辑器,最简单的用法可以参考课程Vim编辑器 3. 环境使用 使用R语言交互式环境输入实验所需的代码及文件,使用LX终端(LXTermina

在python的交互式解释器中实现命令自动补全

Python的交互式解释器没有自带像Linux Shell那样的命令自动补全功能,可以编写一个模块来实现这一功能,模块源代码来自老男孩Linux培训机构的Python讲师Alex: # python startup file import sys import readline # tab completion readline.parse_and_bind('tab: complete')

Python 手册——调用解释器

通常Python的解释器被安装在目标机器的 /usr/local/bin/python 目录下:把 /usr/local/bin 目录放进你的UNIX Shell 的搜索路径里,确保它可以通过输入python来启动.因为安装路径是可选的,所以也有可能安装在其它位置,你可以与安装Python的用户或系统管理员联系.(例如,/usr/local/python就是一个很常见的选择)输入一个文件结束符(UNIX上是Ctrl+D,Windwos上是Ctrl+Z)解释器会以0值退出(就是说,没有什么错误,正

11 个最佳的 Python 编译器和解释器

Python 是一门对初学者友好的编程语言,是一种多用途的.解释性的和面向对象的高级语言. 它拥有非常小的程序集,非常易于学习.阅读和维护.其解释器可在Windows.Linux 和 Mac OS 等多种操作系统上使用.它的可移植性和可伸缩性等特性使得它更加容易被运用. Python 库可用于以下用途: Web 开发 数据科学 机器学习 多媒体 软件开发 像 Django 这样的 Web 框架 GUI 应用 大多数极客认为 Python 是解释性语言,但它也存在编译过程. 编译部分在代码执行时完

【python】python 面向对象编程笔记

1. 类的创建 类是一种数据结构,我们可以用它来定义对象,后者把数据值和行为特性融合在一起.类是现实世界的抽象的实体以编程形式出现.实例是这些对象的具体化. 类名通常由大写字母打头.这是标准惯例 class First(): pass if __name__ == '__main__': f = First() f.x = 3 f.y = 5 print(f.x + f.y ) 2. 方法 self 参数,它在所有的方法声明中都存在.这个参数代表实例对象本身,当你用实例调用方法时,由解释器悄悄地

【python】python编码规范

PEP介绍 PEP是 Python Enhancement Proposal 的缩写,是Python增强建议书的意思. Python的代码风格由PEP 8描述.这个文档描述了Python编程风格的方方面面.在遵守这个文档的条件下,不同程序员编写的Python代码可以保持最大程度的相似风格.这样就易于阅读,易于在程序员之间交流. 命名规则 不同的命名风格 有许多不同的命名风格.以下的有助于辨认正在使用的命名风格,这独立于它们的作用. 小写串 (lowercase) 带下划线的小写串 (lower_

Hello Python!用python写一个抓取CSDN博客文章的简单爬虫

网络上一提到python,总会有一些不知道是黑还是粉的人大喊着:python是世界上最好的语言.最近利用业余时间体验了下python语言,并写了个爬虫爬取我csdn上关注的几个大神的博客,然后利用leancloud一站式后端云服务器存储数据,再写了一个android app展示数据,也算小试了一下这门语言,给我的感觉就是,像python这类弱类型的动态语言相比于java来说,开发者不需要分太多心去考虑编程问题,能够把精力集中于业务上,思考逻辑的实现.下面分享一下我此次写爬虫的一下小经验,抛砖引玉

Awesome Python,Python的框架集合

Awesome Python A curated list of awesome Python frameworks, libraries and software. Inspired by awesome-php. Awesome Python Environment Management 环境管理 Package Management              软件包管理 Package Repositories              软件源 Distribution