合罗山农业网

首页 > 正文

Python语言概述及其运行机制详解

www.ighdhair.com2020-03-07

从现在开始,我们将开启一个新的编程世界Python语言。Python是一种跨平台的计算机编程语言。作为一种面向对象的动态类型语言,它最初被设计用来编写自动化脚本(shell)。随着版本的不断更新和新语言功能的增加,它越来越多地用于独立和大型项目的开发。

首先,据说Python系列的博客文章会引用大量优秀的书籍、网站和博客文章。博客作者会仔细地整理和总结它们,并与每个人分享。Python系列博客帖子包括但不限于以下部分:

Python基本语法系统:基本数据类型、组合数据类型、程序控制结构、功能编程、文件输入输出和文本处理、数据格式化、通用模块、经典主题解析等。

Python核心编程:面向对象高级编程、异常处理、正则表达式、网络编程、多线程编程、图形用户界面编程、数据库编程等。

博客帖子中的任何错误和不当之处,请以评论或私人信件的形式告知我们,谢谢!

文章目录Python语言简介Python语言特性Python语言不能忽视问题Python程序运行机制详细解释透彻理解“解释和编译”Python解释器Python解释器几种实现版本

Python语言简介

Python是一种解释、面向对象、动态数据类型的高级编程语言。

Python是吉多范罗苏姆在1989年底发明的。第一次公开发行是在1991年。官方宣布Python 2的更新将于2020年1月1日停止。Python 2.7已经被确认为最新的Python 2.x版本。Python现在由一个核心开发团队维护,吉多范罗苏姆仍然在指导它的进展中扮演着重要的角色。

Python是一种高级脚本语言,结合了解释、编译、交互性和面向对象。Python是一种完全面向对象的语言。函数、模块、数字和字符串都是对象。并完全支持继承、重载、派生和多重继承,有利于提高源代码的可重用性。Python支持重载运算符和动态类型。

Python的设计非常易读。与其他语言相比,英语关键字经常被使用。其他语言中的一些标点符号比其他语言中的标点符号有更独特的语法结构。

Python是一种解释性语言:这意味着在开发过程中没有编译。类似于PHP和Perl语言。

Python是一种交互式语言:这意味着我们可以直接从Python提示符执行代码。

Python是一种面向对象的语言:这意味着Python支持面向对象的风格或编程技术,代码封装在对象中。

Python语言的特点是

1,易于学习,可读性强,语法优雅:Python遵循“简单、优雅、清晰”的设计理念。在Python语言中,缩进用于识别代码块。通过减少无用的视觉噪声,如语句末尾的大括号和分号,代码的可读性得到了显着提高。阅读一个好的Python程序就像阅读英语一样。它可以专注于解决问题,而不是停留在复杂的语法结构上。

2。高开发效率:Python是一种高级语言。与C语言相比,它牺牲了性能,提高了程序员的效率。它使程序员能够专注于业务逻辑的实现,而不关注底层细节。

3。广泛的标准库:Python语言声称拥有自己的电池,这意味着Python语言的库非常全面。Python最大的优势之一是它丰富的库。

4。强大的第三方库和广泛的应用领域:Python社区提供了大量第三方模块,这些模块的使用方式与标准库相似。功能包括计算机视觉、科学计算、人工智能、机器学习、网络开发、数据库接口和图形系统。

5。互动:互动支持。我们可以从终端输入执行代码并获得结果。交互式测试和调试代码片段。

6。可移植性:基于其开源特性,Python已经被移植到许多平台上。

7。可扩展性和可嵌入性:如果我们需要一个快速运行的关键代码,或者想要编写一些不开放的算法,我们可以使用C/C来完成程序的这一部分,然后从Python程序中调用它。当然,我们可以

1.运行速度慢:因为Python是一种解释性语言,所以程序的代码将被翻译成机器代码,在执行过程中,CPU可以逐行理解。这个翻译过程非常耗时。然而,由于C/C语言是一种编译语言,程序直接编译成机器代码,所以Python的运行速度比C/C语言慢得多。但事实上,在大多数情况下,用户不会直接感受到这里提到的缓慢运行速度,必须使用专业的测试工具。事实上,在大多数情况下,Python可以完全满足我们对程序速度的要求,除非我们编写的程序要求极高的运行效率。

2,Python2与Python3

3不兼容,代码无法加密:对于解释性语言,发布者是源代码的发布者。Python不适合高度保密的程序。

4。多线程不能利用多核处理器:Python的线程是操作系统的本机线程。Linux上的线程和Windows上的Win线程。线程的执行完全由操作系统调度。在多核处理器平台上,由于GIL的存在,多线程并行执行是被禁止的。GIL不是Python的特性,它是在实现Python解析器(CPython)时引入的概念。GIL是一个全局解释器锁,一个被计算机编程语言解释器用来同步线程的工具,所以在任何时候只有一个线程在执行。

Python程序操作机制详述了

对“解释和编译”的深入理解

让我们首先理解解释语言和编译语言。

计算机程序实际上是一套计算机指令集。真正能驱动机器运行的是机器指令,但普通开发人员直接编写机器指令是不现实的。因此,出现了一种计算机高级语言。高级语言允许用自然语言(通常是英语)编程,但是高级语言的程序最终必须被翻译成机器指令来执行。

当然,计算机不能理解高级语言,更不用说直接执行高级语言了。他们只能直接理解机器指令。因此,如果用任何高级语言编写的程序想要由计算机运行,它们必须转换成计算机语言,即机器指令。这种转换有两种方式:编译和解释。根据不同的计算机执行模式,高级语言可以分为两种类型:静态语言和脚本语言。静态语言被编译和执行,脚本语言被解释和执行。

编译语言在程序执行前需要一个特定的编译过程。将源代码编译成计算机可以执行的机器代码,然后直接运行编译后的文件。因为它只需要编译一次,不需要以后编译,所以编译后的语言具有很高的执行效率。例如,c、c、Go等。是编译语言。

编译语言有以下特点:

对于相同的源代码,编译后的目标代码执行速度更快。

与特定平台相关,不能移植到其他平台,所以编译语言的平台可移植性不好。

解释语言使用一个特殊的解释器将源程序逐行解释成特定于平台的机器码并立即执行。它不需要预先编译,它直接将源代码解释成机器代码并立即执行,所以只要平台提供相应的解释器,它就可以运行程序。Python、Php等。是解释性语言,但是Python不是一种完整的解释性语言,这将在后面详细描述。

解释语言有以下特点:

解释语言需要将源代码解释为机器代码,并在每次运行时执行它,这是低效的。

只要平台提供相应的解释器,就可以运行源代码,所以解释语言的平台移植性更好。

解释执行需要保留源代码,程序的修改和维护非常方便。

解释和编译的区别在于编译是一次性翻译。一旦程序被编译,就不需要编译程序或源代码了。每次程序运行时,解释都需要一个解释器和源代码。

编译过程只发生一次,所以编译过程的速度不是关键,目标代码的运行速度才是关键。因此,编译器通常会集成尽可能多的优化

简而言之,逐一解释和执行用户编写的代码并不能概括所有代码的性能优化过程,因此执行性能稍低,但它可以支持跨硬件或操作系统平台。保留源代码非常有利于升级和维护,并且适用于非性能关键的程序操作场景。

Python是一种广泛使用的高级通用脚本语言。尽管它使用解释和执行的方法,它的解释器仍然保留了编译器的一些功能。当程序运行时,解释器也会生成一个完整的目标代码。这种新的解释器与编译器相结合,是现代脚本语言的有益发展,目的是提高计算机性能。

Python Interpreter

用编译语言(如C/C)编写的程序需要从源文件转换成计算机使用的机器语言,并由链接器链接后形成二进制可执行文件。当程序运行时,二进制程序可以从硬盘载入内存并运行。

但是对于Python来说,Python源代码不需要编译成二进制代码,它可以直接从源代码运行程序。Python解释器将源代码转换成字节码,然后将编译后的字节码转发给Python虚拟机(PVM)执行。当我们运行N程序时,Python解释器将执行两个步骤:

1。将源代码编译成字节码。编译后的字节码是一个特定于Python的表达式。它不是二进制机器码,需要进一步编译才能被机器执行。这也是为什么Python代码不能像c/c那样快速运行的原因。如果Python进程在机器上有写权限,它会将程序的字节码保存为扩展名为的文件。pyc。如果Python不能在机器上编写字节码,字节码将在内存中生成,并在程序结束时自动丢弃。当构建一个程序时,最好给Python在计算机上写的权限,这样只要源代码不变,生成的。pyc文件可以重用,以提高执行效率。

2。将编译后的字节码转发给Python虚拟机(PVM)执行。PVM是Python虚拟机的缩写。它是Python的运行引擎,也是Python系统的一部分。这是一个大循环,迭代运行字节码指令,一个接一个地完成操作。

因此,python并不完全是一种解释性语言。它是经过编译的。首先,源代码。py文件被编译成。pyc或。pyo,然后由python的虚拟机执行。与Py文件相比,编译成。pyc和。pyo基本上与。Py,但是这个模块的加载速度提高了,代码的执行速度没有提高。

Python解释器

Python解释器的几个版本有三个主要实现,CPython、Jython和IronPython。

CPython:CPython是一个标准实现,其他的有特定的目标。CPython是用C语言编写的。它是大多数操作系统预装的Python解释器,也是所有Python解释器中速度最快、最完整、声音最大的。

Jython:Jython是Python语言的另一种实现。其目的是与Java编程语言集成。Jython包括编译Python源代码、形成Java字节码并将字节码映射到Java虚拟机(JVM)的Java类。因为Jython比CPython更慢、更不健壮,所以对于寻找Java代码前端脚本语言的Java开发人员来说,它通常被视为一个有趣的工具。

IronPython:IronPython旨在将Python程序与。NET框架和开源的Linux操作系统。

热门浏览
热门排行榜
热门标签
日期归档