Python
一、计算机语言
计算机不能直接理解任何机器语言以为的任何语言,所以我们程序员写的代码必须翻译成计算机语言,计算机才能执行程序,将程序翻译成机器语言的的工具就叫编译器,例如java的JVM,C/C++的GCC
编译器编译翻译的方式有两种: 一种是编译,一种是解释
1、类型
1.1、编译型语言
程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。如C、C++、等,java既有编译也有解释
1.2、解释型语言(脚本语言)
解释性语言在运行程序的时候才翻译,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低,比较典型的就是python,perl,javaScript等
2、编译方式
2.1、编译
- 程序执行前需要翻译
- 只编译一次,以后运行不用重新翻译,执行效率高
2.2、解释
- 不需要编译
- 需要解释器
- 语句执行时才翻译
- 每次执行时,都需要逐句翻译,执行效率比较低
2.3、结构图
image二、概要
Python的名字来源于英国一个著名的喜剧组合 monty python(蒙提 派森)
Python 是一种计算机程序设计语言。你可能已经听说过很多种流行的编程语言,比如非常难学的 C 语言,非常流行的 Java 语言,适合网页编程的 JavaScript 语言等等
那 Python 是一种什么语言?
首先,我们普及一下编程语言的基础知识。用任何编程语言来开发程序, 都是为了让计算机干活,比如下载一个 电影,编写一个文档等等,而计算机干活的 CPU 只认识机器指令,所以,尽管不同的编程语言差异极 大,最后都得“翻译”成 CPU 可以执行的机器指令。而不同的编程语言, 干同一个活,编写的代码量,差距也很大。
比如,完成同一个任务,C 语言要写 1000 行代码,Java 只需要写 100 行,而 Python 可能只要 10 行。
所以 Python 是一种相当高级的语言。
你也许会问,代码少还不好?代码少的代价是运行速度慢,C 程序运行 1 秒钟,Java 程序可能需要 2 秒,而 Python 程序可能就需要5秒。
那是不是越低级的程序越难学,越高级的程序越简单?表面上来说,是的,但是,在非常高的抽象计算中,高级的 Python 程序设计也是非常难学的,所以,高级程序语言不等于简单。也就说入门简单提高难,这个需要花大量的时间去学习和研究
但是,对于初学者和完成普通任务,Python 语言是非常简单易用的。连 Google 都在大规模使用 Python,你就不用担心学了会没用
Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。是著名的Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的。
Python的设计具有很强的可读性,相比其他编程语言,Python具有它别具一格的语法结构,特别是Python的缩进规则,改变了不少不好的编程习惯。Python的简洁、易读、易维护、丰富和强大的类库及可扩展性等特点,使它受到越来越多编程人员的喜爱。
- 解释性:也就是说Python没有编译这个过程,这有点类时与PHP语言
- 交互式:可以再Python提示符后,直接执行python代码
- 面向对象:具有面向对象语言的风格,代码的封装、继承以及多态等编程技术
三、Python发展史
1991年,第一个Python编译器诞生。它是用C语言实现的,并能够调用C语言的库文件。从一出生,Python已经具有了:类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。
版本 发布时间 Python 1.0 1994 Python 2.0 2000/10/16 Python 2.4 2004/11/30 Python 2.5 2006/09/19 Python 2.6 2008/10/1 Python 2.7 2010/07/03 Python 3.0 2008/12/03 Python 3.1 2009/06/27 Python 3.2 2011/02/20 Python 3.3 2012/09/29 Python 3.4 2014/03/16 Python 3.5 2015/09/13 Python3.6 2016/12/16 Python3.7 2018/6/27
四、语言特性
python是一种面向对象的解释型编程语言,它语法简洁清晰,学习难度相比其他编程语言会低些,相对容易上手。IEEE发布2018年编程语言排行榜:Python高居首位。TIOBE 于最近公布了2019年2月编程语言排行榜Python干掉c++排名第三
imagepython有丰富而强大的库,能做很多事,也被称之为“胶水语言”,可以把其他语言编写的模块联结在一起调用,能够轻易地操作其他程序,比如对C/C++编写的模块,支持的非常好。
值得一提的是,2017年python被我国教育机构认可,用于学生的编程学习实践。摆脱多年的visual C++6.0的教育软件,学弟学妹们终于能学点跟社会接轨的技能了。这也从侧面证明了python的优点。
六、平台支持
Mac OS原生支持python运行环境,linux和windows都能安装python运行环境,配合简单的IDE就能编写python程序了。
IDE方面,idea也有针对python的IDE支持,代码写起来很舒服,另外还有jetbrain专门开发的PyCharm,选择很多。大牛用vim也能写python
七、语言特点
- 易于学习:Python 有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。
- 易于阅读:Python 代码定义的更清晰。
- 易于维护:Python 的成功在于它的源代码是相当容易维护的。
- 一个广泛的标准库:Python 的最大的优势之一是丰富的库,跨平台的,在 UNIX,Windows 和 macOS 兼容很好。
- 互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。
- 可移植:基于其开放源代码的特性,Python 已经被移植(也就是使其工作)到许多平台。
- 可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用 C 或 C++ 完成那部分程序,然后从你的 Python 程序中调用。
- 数据库:Python 提供所有主要的商业数据库的接口。
- GUI 编程:Python 支持 GUI 可以创建和移植到许多系统调用。
- 可嵌入:你可以将 Python 嵌入到 C/C++ 程序,让你的程序的用户获得”脚本化”的能力。
- 面向对象:Python 是强面向对象的语言,程序中任何内容统称为对象,包括数字、字符串、函数等。
八、Python2还是Python3
Python2.7是2.x系列的最后一个版本,已经停止开发,不再增加新功能。2020年终止支持。所有的最新的标准库的更新改进,只会在3.x的版本里出现。Guido决定清理Python2.x ,并且不再兼容旧版本。
最大的一个改变就是使用Unicode作为默认编码。Pyhton2.x中直接写中文会报错,Python3中可以直接写中文了。从开源项目看,支持py3的比例已经大大提高,知名的项目一般都支持Python2.7和Python3+。
Python3比Python2更规范统一、去掉了没必要的关键字Python3.x还在持续改进。所以我们还是推荐大家使用Python3.x。
九、应用场景
- 运维测试(PyUnit / seleniuml)
- 后台开发(Django / Flask / Tornado)
- 科学计算(Numpy / SciPy/Matplotlib)
- 机器学习(Scikit-Learn)
- 神经网络(TensorFlow)
- 图像处理(Pillow)
- 网络爬虫(Requests / Xpath / Scrapy)
- 桌面软件(PyQt / PySide / wxPython / PyGTK)
网友评论