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

  • 什么是python
    • python的起源
    • python主要发展历程
    • python各个版本之间的区别
    • 如何选择python的版本
  • python的特点
  • python的下载和安装
    • 默认编程环境
    • 其他编程环境

什么是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
等等。

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

  1. python3各版本区别-Python各版本之间的区别

    Python各版本之间的区别 发布时间:2020-06-17 14:22:08 来源:亿速云 阅读:148 作者:鸽子 Python发展至今有哪些版本和各版本的区别是: 一.系统区别: 1.Downl ...

  2. python版本之间的区别_Python各版本之间的区别

    Python各版本之间的区别 发布时间:2020-06-17 14:22:08 来源:亿速云 阅读:161 作者:鸽子 Python发展至今有哪些版本和各版本的区别是: 一.系统区别: 1.Downl ...

  3. Python 应用领域以及版本之间的区别

    Python 应用领域以及版本之间的区别 一.Python应用领域 Python+人工智能,给你更多研究方向选择! 企业级综合实战项目,集六大前沿技术为一体 二. Python 2与Python 3的 ...

  4. python语言简介-发展历程-特点-应用领域

    1.python的由来: python是1989年圣诞节期间,由Guido van Rossum(荷兰人吉多.范罗苏姆)在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为 ...

  5. python中tensor与variable_TensorFlow中Variable和get_variable之间的区别

    另一个区别在于,一个在('variable_store',)集合中,而另一个不在. 请查看源代码 : def _get_default_variable_store(): store = ops.ge ...

  6. python观察日志(part20)--列表中加号,extend,append之间的区别

    学习笔记,仅供参考,有错必纠 列表中"+"加号,extend,append之间的区别 extend extend函数用于在列表末尾一次性追加另一个序列中的多个值. append a ...

  7. python中out什么意思_ref和out的使用与区别|python基础教程|python入门|python教程

    https://www.xin3721.com/eschool/pythonxin3721/ out的使用 ---------------------------------------------- ...

  8. 初识vue——vue的发展历程

    作者简介:一名前端萌新,前来进行VUE的前进之路 个人主页:大熊李子的主页 1.什么是vue? 对于出入前端的小伙伴们来说vue很陌生,但是又很重要,那么vue到底是什么呢? 有的小伙伴会去度娘搜一下 ...

  9. python从入门到放弃系列恶搞短片-太惨!学Python方法用错,直接从入门到放弃!...

    原标题:太惨!学Python方法用错,直接从入门到放弃! 从你开始学习编程的那一刻起,就注定了以后所要走的路-从编程学习者开始,依次经历实习生.程序员.软件工程师.架构师.CTO等职位的磨砺:当你站在 ...

最新文章

  1. z-index 用法
  2. 服务器负载均衡(1)
  3. /org/gnome/Terminal/Factory0: Could not connec
  4. xml+dom4j+xpath学生管理系统
  5. 人工智能(AI)在游戏中的应用(下)
  6. C++文件打开模式详解
  7. python __slots__ [转]
  8. 获取文件的后缀名 和 Process进程
  9. java 静态 编译_Java中的动态和静态编译
  10. Java 面试—乐/悲观锁,wait/notify/notifyAll对比
  11. linux等待队列wait_queue_head_t和wait_queue_t
  12. Java集合相关面试题总结
  13. CANape CAN工程的创建
  14. Dev ChartControl
  15. 2022上半年朋友圈都在传的10本书,找到了
  16. 分析案例:贷款逾期分析
  17. 密集预测任务的多任务学习(Multi-Task Learning)研究综述 - 网络结构篇(上)
  18. springcloud + nacos多环境联调、本地联调(即灰度版本)
  19. Linux ssh 密钥的生成与使用
  20. Django微信支付

热门文章

  1. 计算机组成原理多级中断实验,TEC-XP计算机组成原理实验系统概述
  2. 第一章Python概述
  3. 总线 —— 总线仲裁
  4. 联想Y7000在配置ubuntu16.04过程中所遇到的一些问题.例如WIFI禁用,外接屏显示错误,NVIDIA驱动安装等
  5. 清理Virtualbox虚拟机VDI镜像文件的空间大小
  6. node.js css文件已经被加载但是无法渲染页面的问题和解决方法
  7. PHP爬虫之解析页面的方法
  8. vue-cropper
  9. 宅急送项目开发过程及问题?
  10. 知乎和Quora高分APP原型设计工具推荐