Python简介

栏目: Python · 发布时间: 7年前

内容简介:Python简介

一、 Python 简介

Python的创始人为Guido van Rossum。1989年圣诞节期间,在 阿姆斯特丹 ,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种继承。实际上,Python诞生于 1991 年(比 Java 还早),并且一直是最流行的十门计算机语言之一。公司需要雇用 程序员 来写 Python 程序,包括你每天都会用到的 Google、YouTube、Dropbox、Netflix 和Hulu 等。对于发展迅速的组织来说,Python 能极大地提高生产力。

目前Python主要应用领域:

  • 云计算 : 云计算最火的语言, 典型应用OpenStack
  • WEB开发 : 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django
  • 科学运算、人工智能 : 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas
  • 系统运维 : 运维人员必备语言
  • 金融 :量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c,c++,java,尤其擅长策略回测
  • 图形GUI : PyQT, WxPython,TkInter

Python在一些公司的应用: 

  • 谷歌:Google App Engine 、code.google.com 、Google earth 、谷歌爬虫、Google广告等项目都在大量使用Python开发
  • CIA: 美国中情局网站就是用Python开发的
  • NASA: 美国航天局(NASA)大量使用Python进行数据分析和运算
  • YouTube:世界上最大的视频网站YouTube就是用Python开发的
  • Dropbox:美国最大的在线云存储网站,全部用Python实现,每天网站处理10亿个文件的上传和下载
  • Instagram:美国最大的图片分享社交网站,每天超过3千万张照片被分享,全部用python开发
  • Facebook:大量的基础库均通过Python实现的
  • Redhat: 世界上最流行的 Linux 发行版本中的yum包管理 工具 就是用python开发的
  • 豆瓣: 公司几乎所有的业务均是通过Python开发的
  • 知乎: 国内最大的问答社区,通过Python开发(国外Quora)
  • 春雨医生:国内知名的在线医疗网站是用Python开发的
  • 除上面之外,还有搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝 、土豆、新浪、果壳等公司都在使用Python完成各种各样的任务。 

Python解释器:

当我们编写Python代码时,我们得到的是一个包含Python代码的以 .py 为扩展名的文本文件。要运行代码,就需要Python解释器去执行 .py 文件。

由于整个Python语言从规范到解释器都是开源的,所以理论上,只要水平够高,任何人都可以编写Python解释器来执行Python代码(当然难度很大)。事实上,确实存在多种Python解释器。

CPython

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

CPython是使用最广的Python解释器。教程的所有代码也都在CPython下执行。

IPython

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

CPython用 >>> 作为提示符,而IPython用 In [ 序号 ]: 作为提示符。

PyPy

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

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

Jython

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

IronPython

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

二、Python与其他语言对比

shell 程序:

#!/bin/sh

language=0

echo "Language $language: I am the shell. So there."

C 程序:

#include <stdio.h>

int main(int argc, char *argv[]) {

int language = 1;

printf("Language %d: I am C! Behold me and tremble!\n", language);

return 0;

}

C++ 和 C 看起来很相似,但是特性完全不同:

#include <iostream>

using namespace std;

int main(){

int language = 2;

cout << "Language " << language << \

": I am C++! Pay no attention to that C behind the curtain!" << \

endl;

return(0);

}

Java 代码:

public class Overlord {

public static void main (String[] args) {

int language = 3;

System.out.format("Language %d: I am Java! Scarier than C!\n", language);

}

}

注:以上被称为静态语言

Perl 代码:

my $language = 4;

print "Language $language: I am Perl, the camel of languages.\n";

Ruby是一门新语言。它借鉴了一些 Perl 的特点,并且因为Web 开发框架 Ruby on Rails 红遍大江南北。

language = 5

puts "Language #{language}: I am Ruby, ready and aglow."

PHP代码:

<?PHP

$language = 6;

echo "Language $language: I am PHP. The web is <i>mine<i>, I say.\n";

?>

Python代码:

language = 7

print("Language %s: I am Python. What's for supper?" % language)

注:以上语言为动态语言(也被称为脚本语言)

三、Python 2与Python 3

你即将面临的最大问题是,Python 有两个版本。Python 2 已经存在了很长时间并且预装在Linux 和 Apple 电脑中。Python 是一门很出色的语言,但是世界上不存在完美的东西。和其他领域一样,在计算机语言中许多问题很容易解决,但是也有一些问题很难解决。后者的难点在于不兼容:使用修复后的新版本编写的程序无法运行在旧的 Python 系统中,旧的程序也无法运行在新的系统中。

Python 的发明者(吉多 · 范 · 罗苏姆,https://www.python.org/~guido)和其他开发者决定把这些困难问题放在一起解决,并把解决后的版本称作 Python 3。Python 2 已经成为过去,Python 3 才是未来。Python 2 的最后一个版本是 2.7,它会被支持很长一段时间,但也就仅此而已,再也没有 Python 2.8 了。新的开发全部会在 Python 3 上进行。


以上所述就是小编给大家介绍的《Python简介》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

PHP&MySQL Web数据库应用开发指南

PHP&MySQL Web数据库应用开发指南

Hugb E. Williams、David Lane / 谢君英 / 中国电力出版社 / 2003-5 / 69.00元

一起来看看 《PHP&MySQL Web数据库应用开发指南》 这本书的介绍吧!

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具