内容简介: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简介》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
七周七语言(卷2)
【美】Bruce A. Tate(泰特)、Fred Daoud(达乌德)、Ian Dees(迪斯) / 7ML翻译组 / 人民邮电出版社 / 2016-12 / 59
深入研习对未来编程具有重要意义的7种语言 Lua、Factor、Elixir、Elm、Julia、Idris和MiniKanren 本书带领读者认识和学习7种编程语言,旨在帮助读者探索更为强大的编程工具。 本书延续了同系列的畅销书《七周七语言》《七周七数据库》和《七周七Web开发框架》的体例和风格。 全书共8章,前7章介绍了Lua、Factor、Elm、Elixir、Jul......一起来看看 《七周七语言(卷2)》 这本书的介绍吧!