python解释型语言
通常的说法,编译代表着将一个高级语言转化为CPU能执行的机器码。当你编译C的时候,的确是做的这样的操作。编译的结果是一个二进制可执行文件,这时你的系统可直接运行这个程序。
与此相对的,解释的意思是这样的:程序运行时每次读源文件中的一行代码,并执行相应的操作,就这样一行一行的重复下去。当然,所谓的脚本语言就是这么运行的。
在Python中,源代码会被编译为更低级的一种形式,我们称之为字节码。字节码是一串指令,和CPU的指令集类似。但是字节码并不直接被CPU执行,而是在虚拟机中执行的。当然,这里的虚拟机并不模仿整个操作系统的环境,只是提供了字节码执行的一个环境。
Python还有一个重要的特性,就是交互式命令行。你可以敲入一行Python语句,然后立刻回车执行。实际上,即使是这个过程,Python同样是先转为字节码,然后执行。而这个交互式命令行这个特性,在很多编译型语言里是没有的。同样因为没有显示的调用编译程序,很多人将执行Python源文件的程序叫做Python解释器。
解释型语言和编译型语言
计算机是不能够识别高级语言的,所以当我们运行一个高级语言程序的时候,就需要一个“翻译机”来从事把高级语言转变成计算机能读懂的机器语言的过程。这个过程分成两类,第一种是编译,第二种是解释。
编译型语言在程序执行之前,先会通过编译器对程序执行一个编译的过程,把程序转变成机器语言。运行时就不需要翻译,而直接执行就可以了。最典型的例子就是C语言。
解释型语言就没有这个编译的过程,而是在程序运行的时候,通过解释器对程序逐行作出解释,然后直接运行,最典型的例子是Ruby。
通过以上的例子,我们可以来总结一下解释型语言和编译型语言的优缺点,因为编译型语言在程序运行之前就已经对程序做出了“翻译”,所以在运行时就少掉了“翻译”的过程,所以效率比较高。但是我们也不能一概而论,一些解释型语言也可以通过解释器的优化来在对程序做出翻译时对整个程序做出优化,从而在效率上接近编译型语言,而不能超过编译型语言。
此外,随着Java等基于虚拟机的语言的兴起,我们又不能把语言纯粹地分成解释型和编译型这两种。
用Java来举例,Java首先是通过编译器编译成字节码文件,然后在运行时通过解释器给解释成机器文件。所以我们说Java是一种先编译后解释的语言。
以上内容为大家介绍了python培训之解释型语言,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。
猜你喜欢LIKE
相关推荐HOT
更多>>Python中使用K-means算法
python中使用K-means算法k-means是机器学习中最常用的聚类算法,关于k-means算法的数学原理、算法、伪码等已有相当丰富的文献,在此不再赘述。1...详情>>
2023-11-14 22:27:42python包和模块的内容整理
python包和模块的内容整理1、包(1)包是一个文件夹,存放多个模块,作用是包含多个模块,本质上仍然是模块,因此包也可以包含在其中。(2)库:与...详情>>
2023-11-14 21:31:01python线程中deque如何使用?
python线程中deque如何使用?1、说明collections.deque类是一种线程安全的数据类型,可以从两端快速添加或删除元素。而且如果你想有一个数据类型...详情>>
2023-11-14 18:22:54python并集是什么意思?
python并集是什么意思?本文教程操作环境:windows7系统、Python3.9.1,DELLG3电脑。以属于A或属于B的元素为元素的集合成为A与B的并集。1、概念...详情>>
2023-11-14 16:44:05热门推荐
python中如何实现列表与字典的相互转换?
沸python sorted中key参数怎么用?
热python中exec()函数如何执行表达式?
热Python中使用K-means算法
新python如何对电脑进行清屏
python包和模块的内容整理
python中scipy.special模块如何使用?
python检测给定的路径是否存在的方法
怎样在python中定义非闭包
python如何画火山图
pythonpickle模块的使用注意
python线程中deque如何使用?
python如何安装pyenv
pythontime模块的时间格式