认识 Python
Posted studyming
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了认识 Python相关的知识,希望对你有一定的参考价值。
人生苦短,我用 Python —— Life is short, you need Python
1. Python 的起源
- 1989 年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的解释程序,作为 ABC 语言的一种继承。
- ABC 是由吉多参加设计的一种教学语言,就吉多本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。但是 ABC 语言并没有成功,究其原因,吉多认为是非开放造成的。吉多决心在 Python 中避免这一错误,并获取了非常好的效果。
- 之所以选中 Python(蟒蛇) 作为程序的名字,是因为他是 BBC 电视剧——蒙提·派森的飞行马戏团(Monty Python‘s Flying Circus)的爱好者。
- 1991 年,第一个 Python 解释器诞生,它是用 C 语言实现的,并能够调用 C 语言的库文件。
1.1 解释器
计算机不能直接理解任何除机器语言以外的语言,所以必须要把程序员所写的程序语言翻译成机器语言,计算机才能执行程序。将其他语言翻译成机器语言的工具,被称为编译器。
编译器翻译的方式有两种:一个是编译,另外一个是解释。两种方式之间的区别在于翻译时间点的不同。当编译器以解释方式运行的时候,也称之为解释器。
- 编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。如 C、C++。
- 解释型语言:解释型语言编写的程序不进行预先编译,以文本方式存储程序代码,会将代码一句一句直接运行。在发布程序时,看起来省了道编译工序,但是在运行程序的时候,必须先解释再运行。
编译型语言和解释型语言对比
- 速度 —— 编译型语言比解释型语言执行速度快
- 跨平台性 —— 解释型语言比编译型语言跨平台性好
1.2 Python 的设计目标
1999 年,吉多·范罗苏姆向 DARPA 提交了一条名为 “Computer Programming for Everybody” 的资金申请,并在后来说明了他对 Python 的目标:
一门简单直观的语言并与主要竞争者一样强大(目前市场上主流编程语言能做的事情Python基本也都能实现)
开源,以便任何人都可以为它做贡献。
代码像纯英语那样容易理解,Python的代码阅读起来简单。
适用于短期开发的日常任务。
这些想法中的基本都已经成为现实,Python 已经成为一门流行的编程语言。
1.3 Python 的设计哲学
- 优雅
- 明确
- 简单
Python 开发者的哲学是:用一种方法,最好是只有一种方法来做一件事。
如果面临多种选择,Python 开发者一般会拒绝花俏的语法,而选择明确没有或者很少有歧义的语法。
在 Python 社区,吉多被称为“仁慈的独裁者”
2. 为什么选择 Python?
Python是一种效率极高的语言:相比于众多其他的语言,使用Python编写时,程序包含的代码行更少。
Python的语法也有助于创建整洁的代码:相比其他语言,使用Python编写的代码更容易阅读、调试和扩展。
大家将Python用于众多方面:编写游戏、创建Web应用程序、解决商业问题以及供各类有趣的公司开发内部工具。Python还在科学领域被大量用于学术研究和应用研究。
依然使用Python的一个最重要的原因是,Python社区有形形色色充满激情的人。对程序员来说,社区非常重要,因为编程绝非孤独的修行。大多数程序员都需要向解决过类似问题的人寻求建议,经验最为丰富的程序员也不例外。需要有人帮助解决问题时,有一个联系紧密、互帮互助的社区至关重要,而对于像你一样将Python作为第一门语言来学习的人
而言,Python社区无疑是坚强的后盾。
Python是一门杰出的语言,值得你去学习,咱们现在就开始吧!
同一样问题,用不同的语言解决,代码量差距还是很多的,一般情况下
Python
是Java
的 1/5,所以说人生苦短,我用 Python。
3. Python 特点
Python 是完全面向对象的语言。
- 函数、模块、数字、字符串都是对象,在 Python 中一切皆对象。
- 完全支持继承、重载、多重继承。
- 支持重载运算符,也支持泛型设计。
Python 拥有一个强大的标准库,Python 语言的核心只包含数字、字符串、列表、字典、文件等常见类型和函数,而由 Python 标准库提供了 系统管理、网络通信、文本处理、数据库接口、图形系统、XML 处理等额外的功能。
Python 社区提供了大量的第三方模块,使用方式与标准库类似。它们的功能覆盖 科学计算、人工智能、机器学习、Web 开发、数据库接口、图形系统多个领域。
!-->以上是关于认识 Python的主要内容,如果未能解决你的问题,请参考以下文章