python 字节码 汇编器_基础系列1-python解释器、PVM、源代码、字节码理解

大家都会听到这么一种说法,python是脚本语言,一门解释型语言,那么什么是解释型语言呢?

为了回答这个问题,我们从头撸起

fedd0f4444b8

语言又大致分为3类:机器语言、汇编语言、高级语言,简单的解释来说:

机器语言:可以被硬件平台直接理解的语言,二进制编码,机器的指令集合

汇编语言(伪机器语言):加入了助记符的指令集合

高级语言:高级封装了的语言指令集合、包括对存储的处理,比较接近自然语言或者数学语言,让人易于理解和编写。

那么我们日常听到的c、c++、java、python、ruby 等等都可以归为高级语言的范畴。有了高级语言,程序员高兴了,我写个句子,写个表达式,就完成了我要做的事情,再不用在纸上敲000000011111了,但是机器它不开心了,看不懂啊,机器只认0和1,那怎么办呢,就需要 把高级语言翻译一下,翻译成机器能懂的语言,这个翻译过程有2种方式:编译和解释。

fedd0f4444b8

编译型语言运行过程

编译型语言,就是先把高级语言 变成 机器语言并存储下来(编译),再执行机器语言(执行),执行速度会比较快。

fedd0f4444b8

解释型语言运行过程

解释型语言:通过解释器把 高级语言先翻译成字节码,再在虚拟机中一行行翻译字节码成机器码,边翻译边运行。 这个翻译成字节码和把字节码翻译成机器码的过程在一起的,对程序员/使用者来说 是隐形的。使用者看到的情况就是 写完代码,点击运行就OK了。

由此 我们总结 一下 这么几个术语的概念(重点来了):

源代码:为了程序所写的语句 (文本文件) ,在python中 就是 .py文件

解释器:把源代码翻译成一种中间状态的代码并运行python代码的程序

字节码:中间态的代码,在pyhton中是 .pyc文件

PVM:python虚拟机,循环迭代 运行字节码的 程序

在python中 解释器和虚拟机的概念通常是不做区分的,他们是 一个完整程序的2部分。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值