当前位置:首页>微思动态 > >详情
全国热线电话 400-881-4699

在线留言

【分享】认识 Python 及其背景

发布作者:微思网络   发布时间:2022-07-12   浏览量:0

图片

什么是 Python

Python 是一种广泛使用(widely-used)的、解释型、面向对象(object-oriented)、具有动态语义(dynamic semantics)的高级编程语言,用于通用编程。

python 是"蟒蛇" 的意思, 但实际上这个名称来自于 BBC 的一个电视喜剧短剧系列,叫做 《Monty Python's Flying Circus》 巨蟒飞行马戏团



编译器与解释器的区别

图片


当开发人员写完代码后,有2种方法将代码转换成"机器语言 machine language":


1.编译器(Compilation)

源码通过编译器的编译,生成了包含机器语言的文件(如在 windows 平台下,则会生成 exe 文件);但每一次修改源码,都必须重新编译一次,重新生成最终程序

当你得到最终的 exe 文件后,就可以在全世界的所有 windows 电脑上运行该程序


2.解释器(interpretation)

拥有源代码的任意用户,每次需要运行程序时,都需要对源码进行翻译,而执行这种翻译的程序叫做解释器;

由于每次都要在执行时对源码进行解释,意味着其他用户也需要拥有解释器才能运行程序



解释器是如何工作的?

假设你用 Python 写了一个程序, 实际上只是一个文本文件(源代码被保存在里面); 现在解释器会按照"从上到下,从左到右"的方式检查源码中的每一行;

由于历史原因,以解释方式运行的语言通常被称为"脚本语言 scripting languages",而源代码则被称为脚本 scripts

如果解释器发现了错误,它会立刻报告错误的消息;

解释器会告知你错误的位置以及造成错误的原因,然而这些报告信息可能会误导你;因为解释器并不能遵循你的切确意图,可能会在离其真正原因有一定距离的地方发现错误;

举例: 如果你试图使用一个未知名称的实体,就会引起一个错误,但是这个错误会在试图调用该实体的地方被发现,而不是在引入该实体的地方;

换句话说,实际的出错原因通常位于报错代码的上方,而不在当前位置

如果解释器在检查某行后没有发现错误,解释器就会尝试执行(每一行通常都是单独执行的); 所以 "读取-检查-执行" 这个过程会持续很多次,甚至比源码文件中的实际行数还多,因为某些

代码部分可能被执行不止一次(如: for 循环)

你可能会问: 编译和解释哪个更好?这是一个没有答案的问题,因为其中一种更好,那么另一种模式必然早就不复存在了; 只能说两者各有优缺点

图片



谁发明了 Python

由 Guido van Rossum 独立创造,他于 1956年出生在荷兰的 Haarlem(哈勒姆); 当然 Guido van Rossum 并没有自己开发和发展所有的 Python 组件

图片


1999年, Guido van Rossum 为 Python 语言定义了他的目标:

  • 一种简单直观(easy and intuitive)的语言,与主要竞争对手语言一样强大

  • 开源(open source),任何人都可以为其开发做出贡献

  • 易于理解的代码(understandable)

  • 适用于日常任务(suitable for everyday tasks),可缩短开发时间



是什么让 Python 与众不同

  • 易于学习: 学习 Python 所需的时间比许多其他语言要短,意味着可以更快的开始实际编程

  • 易于教学: 教学工作量比其他语言要小,无需将精力浪费在"奇淫技巧"和"捉摸不透的规则"上

  • 易于使用: 更快的编写代码

  • 易于理解: 通常别人能很容易的理解你写的代码

  • 易于部署: 免费、开放、跨平台

图片


当然 Python 也有一些缺点:

无法提供优异的性能

调试 Python 代码比其他语言更困难,但幸运的是,在 Python 中犯错也很难




Python 有哪些竞争对手

2个直接的竞争对手, Perl(由 Larry Wall 创建) 和 Ruby(由 Yukihiro Matsumoto 创建);

Perl 比 Python 更传统、更保守,并且类似于从 C语言 派生出来; Ruby 则比 Python 更具创新性,也更有新鲜的想法; Python 本身位于这2个竞争对手中间。



Python 的2个版本

图片


Python 2 和 Python 3; Python 2 是原始 Python 的旧版本, 此后,该版本的开发一直被故意搁置,虽然依旧发布定期更新,但却没有打算更新功能(只修复发现的错误和安全漏

洞) Python 2 的发展已经走到尽头, 但 Python 2 本身仍然非常活跃

Python 3 是新版本,准确的说是当前版本,它正在不断升级,创造自己的版本标准;

这2个版本的 Python 互不兼容, Python2 的脚本不会在 Python3 环境中运行(反之亦然); Python3 不仅仅是 Python2 的更好版本,而是一种完全不同的语言(尽管看起来与前身十分

相似);

但不幸的是,由于历史原因,现在还有许多程序依旧在使用 Python2。



Python 的其他分支

图片


PSF(Python Software Foundation Python 软件基金会), 这是一个皆在开发、改进、扩展和普及 Python 及其环境的社区, PSF 的主席正是 Guido von Rossum 本人; 因此这些

Python 被称为"规范 canonical";

它们也被认为是 "reference Pythons 参考Python", 任何该语言的其他实现都应该遵循 PFS 建立的所有标准。


图片

Cython, 用于解决 Python 效率低下的解决方案, 因为 C 代码的运行效率远远大于 Python; Cython 自动将 Python 代码转换为 C 代码;

我们现在所熟知的 Python 就是 Cython(没想到吧!!!)



返回顶部