【Python】CPython解释器及字节码

        看了set和dict,看到了字节码和dis模块,看了字节码又不能不看python解释器,很多东西都是相互关联想通。看了一篇文章https://www.cnblogs.com/nelsen-chen/p/9122629.html,后面要自己整理出逻辑来。

python作为解释性语言,相对于编译性语言的特点为,是一种边解释边运行的语言,而编译性语言需要完全编译后才可以运行。部分语言的改动都要从新编译,因此可脱离编译环境运行。解释性语言的特点,部分改动不需要整体编译,但离不开解释器。

       解释性语言与编译性语言的本质性特征是,程序执行时是在实际的计算机上进行,还是在软件虚拟机上进行执行。python解释器(或者称其为python虚拟机?)在这其中充当的角色为,将源代码变成字节码pyc, python解释器并执行这些代码。

关于python的运行过程:

 

        前面说到python需要边解释变运行,如果每次运行都要从头进行解释,将会进行大量重复性的工作。Python通过引入pyc文件来减少重复性解释工作。也就是将py文件的解释结果存放在pyc文件之中。关于pyc文件需要明确的几点:

        1、当前调用的主程序不会生成pyc

        2、只会import进来的模块生成pyc文件

        3、每次使用pyc文件时,都会对其创建时间和其源模块进行对比,若源模块发生了修改则进行从新生成pyc

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值