python语言是解释执行的、因此执行速度比编译型语言慢_解释型语言的特点与理解...

解释型语言是什么?对比编译型语言有什么区别?

为了将高级语言转换成计算机能识别的机器语言,需要一个‘翻译’过程。即编译或者解释

编译型语言

编译型语言的程序只要经过编译器编译之后,

每次运行程序都可以直接运行,不需要再次'翻译'

优点:执行速度快。

缺点:可移植性差,因为编译需要对操作系统的库做出链接,所以程序运行时需要用到特定的系统库

解释型语言解释语言编写的程序在每次运行时都需要通过解释器对程序进行动态解释和执行

即解释一条代码,执行一条

优点:可移植好,因为只需要各种系统有python解释器便可运行,不需要乱七八糟的系统库支持

缺点:执行速度慢,因为相比直接执行,多了一个翻译过程

额外知识:脚本语言  脚本语言也算是解释器语言的一个子集。

特点:由文本储存,可直接运行例如:你建立了一个程序,叫aa.exe,可以打开.aa为扩展名的文件.

你为.aa文件的编写指定了一套规则(语法),当别人编写了.aa文件后,你的程序用这种规则来理解编写人的意图,并作出回应.那么,这一套规则就是脚本语言

扩展知识:动态语言一类在运行时可以改变其结构的语言

运行时发现数据类型,运行时可变其结构的语言

例如:不需要事先声明变量类型,同一变量可以被赋值为不同的对象类型

并且,运行时可以动态引进新的函数、对象、类,或将已有的函数可以被删除或是其他结构上的变化

python解释器的种类和特点?

根据实现该解释器的语言分类

cpython,PyPy,Jython,Ironpython。分别是c语言,python,java,.net。

当然最常用的是cpython,因为其库最全。

值得注意的是,PyPy采用的技术可以显著提高运行速度

根据交互方式分类

ipython:基于CPython之上的一个交互式解释器,对于用户交互非常好

python解释器的执行程序的流程?

Python首先先把代码(.py文件)编译成半成品的字节码,然后将其交给虚拟机,虚拟机一条一条将字节码指令翻译成cpu可识别的机器指令交由CPU执行,从而完成程序的执行。

额外知识:什么是字节码?

字节码是一种中间状态(中间码)的二进制代码,包含执行程序、由一序列 op 代码/数据对。不能直接被CPU执行,

需要直译器转译后才能成为机器码。机器码便能被CPU执行

具体流程第一步:python解释器启动,此时就相当于启动了一个文本编辑器

第二步:从硬盘上将test.py的文件内容读入到内存中并翻译为字节码

注意:解释器只关心文件内容,不关心文件后缀名

第三步:python解释器解释执行刚刚加载到内存中test.py的代码

扩展知识:被执行的python代码和解释器绑定在一起

python进程其实就是解释器进程,解释器进程读取代码,呈现不同的效果。

附:python解释器的常用参数命令

python -i test.py运行后交互python -m pdb test.py运行后调试python -O test.py关闭断言

python -OO test.py

去掉assert语句和__doc__文档字符串

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python被称为脚本语言主要是因为它通常用于编写脚本,也就是一系列需要逐行执行的命令或任务。与编译语言不同,Python代码在运行之前不需要显式地编译为机器码,而是通过解释器逐行解释执行。 脚本语言编译语言的主要区别在于执行方式。编译语言(如C++、Java)的代码在运行之前需要经过编译过程,将源代码转换为机器码二进制文件,然后通过操作系统或虚拟机执行。这种方式可以提高执行效率,但需要在不同平台上重新编译。 而解释语言(如Python、JavaScript)的代码在运行时逐行被解释器读取和执行解释器会将源代码转换为中间代码或直接执行,这使得解释语言具有更好的可移植性,无需重新编译即可在不同平台上运行。然而,解释语言执行速度通常比编译语言。 脚本语言解释语言的概念有一定的关联。脚本语言是指用于编写一系列指令或任务的编程语言,而解释语言是指这些指令或任务在运行时通过解释器逐行执行的编程语言Python既可以作为脚本语言使用,也可以作为解释语言使用。 需要注意的是,现代解释器通常会使用即时编译(Just-in-Time Compilation,JIT)技术来提高解释语言执行效率,这种情况下解释语言的性能可能接近甚至超过编译语言。此外,编译语言解释语言在实际应用中也可以相互结合,例如,Python可以使用C语言编写的扩展模块提高执行效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值