当前位置: 移动技术网 > IT编程>脚本编程>Python > 初识python——python的发展历程及python各个版本之间的区别,python的安装

初识python——python的发展历程及python各个版本之间的区别,python的安装

2020年07月15日  | 移动技术网IT编程  | 我要评论

什么是python

百度百科上对python的解释是这样的:

Python是一种计算机程序设计语言,由吉多·范罗苏姆创造,第一版发布于1991年,可以视之为一种改良的LISP。Python的设计哲学强调代码的可读性和简洁的语法。相比于C++或Java,Python让开发者能够用更少的代码表达想法。

通俗来讲,我们只需要知道,python是一种解释型脚本语言,他比C语言和Java语言要简单易懂,容易会掌握,且能实现的功能多。

python的起源

Python的创始人为Guido van Rossum,江湖人称龟叔。龟叔在当时接触过C语言之后,觉得C语言虽然也能编程,但是太过复杂,需要耗费大量的时间。所以他想能不能有一种语言,能够像C语言那样全面调用计算机的功能接口,又能像shell那样可以轻松的编程,不需要耗费大量的时间。1989年在过圣诞节的时候,可能是因为没有女朋友闲着没事干,在大家都在恩恩爱爱的时候,龟叔在阿姆斯特丹搞出来了一个新的脚本解释程序——python。之所以叫Python,是因为龟叔喜欢的一部电视剧《蒙提.派森的飞行马戏团》(Monty Python’s Flying Circus)。

python主要发展历程

python从1989年被龟叔编制出来到现在已经有了30年时间,期间经历了3次大改版和很多次小改版,大改版主要包括已经消失的python 1.0,在今年即将停止维护的python 2和现在大多数正在用的python3,截止到目前已经更新到了python3.8.3,python的大事记年份如下表:

事件 年份
龟叔开始构思 Python 1980
Python 已经有了雏形 1989
Python 的代码对外公布 1991
Python 1.0 正式发布 1994
Python 2.0 发布 2000
Python 2.1 2001
Python 3.0 正式发布 2008

这是主要大事记,中间还有很多小版本的更替就不一一列举了,目前python的更新版本为python3.8.3。

python各个版本之间的区别

小版本之间,比如python2.6到python2.7之间的差别不会太大,但是大版本之间的区别是巨大的,几乎所有的python2程序都需要一些修改才能正常的运行在python3的环境下。
python2和python3的区别主要体现在以下几个方面:

print语句:
python2中print是一个语句,不论想输出什么,直接放到print关键字后面即可。python3里,print()是一个函数,像其他函数一样,print()需要你将要输出的东西作为参数传给它。怎么理解呢,拿最简单的例子hello world来说,以下是不同版本的python的写法:

#python2:
print "hello world" 

#python3:
print"hello world"

UNICODE字符串:
python2中有两种字符串类型:Unicode字符串和非Unicode字符串。python3中只有一种类型:Unicode字符串。简单来说就是python3可以直接输出或输入中文,而python2如果想使用中文的话要提前规定好。

<>比较运算符:
Python2支持<>作为!=的同义词, python3只支持!=, 不再支持<>

全局函数UNICODE():
python2有两个全局函数可以把对象强制转换成字符串:unicode()把对象转换成unicode字符串,还有str()把对象转换为非Unicode字符串。Python3只有一种字符串类型,unicode字符串,所以str()函数即可完成所有的功能。

如何选择python的版本

虽然说现在仍然还有很多的python2的程序,但在今年python2的更新和维护即将停止,在以后的日子里,python2只会越来越被淘汰,所以选择python版本的话还是推荐选择python3.

python的特点

Python有像C++、java一样高级的数据结构,这样就减少了以前框架开发需要的时间。python的特点主要体现在以下方面:

面向对象:
面向对象编程为数据和逻辑相分离的结构化和过程化编程添加了新的活力。面向对象编程支持将特定的行为、特性以及功能与它们要处理或所代表的数据结合在一起。Python 的面向对象特性是与生俱来的。

可升级:
Python 提供了基本的开发模块,你可以在它上面开发你的软件,而且当这些需要扩展和增长时,Python 的可插入性和模块化架构则能使你的项目生机盎然和易于管理。

易扩展:
Python具有高可扩展性,存在许多使用 C 语言或 Fortran 编写扩展的方法。必要时,Python 代码可以直接将这些扩展作为子例程来调用。

可移植性:
在各种不同的系统上可以看到 Python 的身影,这是由于在今天的计算机领域,Python 取得了持续快速的成长。因为 Python 是用 C 写的,又由于 C 的可移植性,使得 Python 可以运行在任何带有 ANSIC 编译器的平台上。尽管有一些针对不同平台开发的特有模块,但是在任何一个平台上用 Python 开发的通用软件都可以稍事修改或者原封不动的在其他平台上运行。这种可移植性既适用于不同的架构,也适用于不同的操作系统。

易学易读易维护:
Python关键字少、结构简单、语法清晰。这样就使得学习者可以在相对更短的时间内轻松上手。Python 与其他语言显著的差异是,它没有其他语言通常用来访问变量、定义代码块和进行模式匹配的命令式符号。通常这些符号包括:美元符号($)、分号(;)、波浪号(~)等等。这样的设计使得 Python代码变得更加定义清晰和易于阅读。因为 Python 本身就是易于学习和阅读的。所以维护起来便更简单一些。

健壮性:
Python 提供了“安全合理”的退出机制,让程序员能掌控局面。一旦你的 Python 由于错误崩溃,解释程序就会转出一个“堆栈跟踪”,那里面有可用到的全部信息,包括你程序崩溃的原因以及是那段代码(文件名、行数、行数调用等等)出错了。这些错误被称为异常。如果在运行时发生这样的错误,Python 使你能够监控这些错误并进行处理。

这些异常处理可以采取相应的措施,例如解决问题、重定向程序流、执行清除或维护步骤、正常关闭应用程序、亦或干脆忽略掉。无论如何,这都可以有效的缩减开发周期中的调试环节。Python的健壮性对软件设计师和用户而言都是大有助益的。一旦某些错误处理不当,Python 也能提供一些信息,作为某个错误结果而产生的堆栈追踪不仅可以描述错误的类型和位置,还能指出代码所在模块。

高效的快速原型开发工具:
Python 有许多面向其他系统的接口,它的功能足够强大,本身也足够强壮,所以完全可以使用 Python 开发整个系统的原型。Python有完备的标准库也有很多第三方扩展库,这些使得我们可以更加快速的开发出系统。

解释性和(字节)编译性:
计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言,所以使用任何高级语言编写的程序若想被计算机运行,都必须将其转换成计算机语言,也就是机器码。而这种转换的方式有两种:编译、解释。

编译型:\color{hotpink}{在编译型语言写的程序执行之前,需要一个专门的编译过程,把源代码编译成机器语言的文件},如exe格式的文件,以后要再运行时,直接使用编译结果即可,如直接运行exe文件。因为只需编译一次,以后运行时不需要编译,\color{hotpink}{所以编译型语言执行效率高}。比如C语言、C++等为编译型语言。编译型语言的执行过程:源代码 ——>编译——>目标代码——>执行——>输出。比如C语言的编译过程中生成的文件为.c源文件——>.obj目标文件——>.exe可执行文件。

解释型:解释型语言不需要事先编译,其直接将源代码解释成机器码并立即执行,所以只要某一平台提供了相应的解释器即可运行该程序。解释型语言每次运行都需要将源代码解释为机器码并执行,效率较低;只要平台提供相应的解释器,就可以运行源代码,所以可以方便源程序移植。Python、java、JavaScript 、Shell等都是解释型语言。解释型语言执行过程:源代码 ——>解释器——>输出。

Python 是一种解释型语言,这意味着开发过程中没有了编译这个环节。一般来说,由于不是以本地机器码运行,纯粹的解释型语言通常比编译型语言运行的慢。然而,类似于 Java,Python实际上是字节编译的,其结果就是可以生成一种近似机器语言的中间形式。这不仅改善了 Python的性能,还同时使它保持了解释型语言的优点。

python的下载和安装

python的下载请到python的官网选择符合你电脑操作系统,适合你自己的版本,推荐安装最新版。
点击downloads选择版本,或直接点击箭头位置下载最新版
官网地址:Python官网
在这里插入图片描述

默认编程环境

python的默认编程环境是IDLE

其他编程环境

python的其他编程环境有很多,主要有以下几种:
pycharm
eclipse + PyDev
anaconda3
PythonWin
等等。

本文地址:https://blog.csdn.net/qq_45015139/article/details/107329264

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网