什么是 Python
Python 是一种广泛使用(widely-used)的、解释型、面向对象(object-oriented)、具有动态语义(dynamic semantics)的高级编程语言,用于通用编程。
python 是"蟒蛇" 的意思, 但实际上这个名称来自于 BBC 的一个电视喜剧短剧系列,叫做 《Monty Pythons 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个版本
ython 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(没想到吧!!!)
★★★如果你对技术感兴趣,想更多了解或提升IT技术能力的,对考取思科/华为/红帽/ORACLE/VMware/PMP/CISP.....等国际顶级认证有诸多问题的,都可以加V:yydhy99999_ 详询哦▼▼▼(验证信息请备注“知乎学技术”)