2-Python程序执行机制

本文介绍了Python程序的执行流程,包括当内部无调用文件、有调用文件时的情况,并讨论了已编译文件在修改后如何影响程序执行。Python语言会先将源代码编译成字节码,以提升执行效率。.pyc文件用于持久化编译结果,当源文件变更时,解释器会重新加载最新代码。总结了Python作为编译后解释的语言特性及其运行时行为。
摘要由CSDN通过智能技术生成

流程图

在这里插入图片描述

当内部无调用文件

# a.py
print('xxx')

则将直接返回结果
在这里插入图片描述

当内部有调用文件

# a.py (new)
import b
b.run() # 调用b文件
print('xxx')
# b.py
def run():
	print('b.by go')
run()

则返回的结果为:
在这里插入图片描述
并生成了编译的Python文件:
在这里插入图片描述

当内部有调用文件但已进行编译无源文件只有编译文件任能成功

在这里插入图片描述
在这里插入图片描述

时间不相同(即对文件进行了修改的情况)

执行b.pyc文件
在这里插入图片描述
对b.py进行修改

# b.py (new)
def run():
	print('b.by go222')
run()

再次执行a.py:
在这里插入图片描述
发现进行了变化,调用的是新的b.py
那么再执行下b.pyc:

在这里插入图片描述
可以发现它进行了变化

总结

  1. Python是先编译成字节码,然后在解释执行的一门语言
  2. .pyc文件的主要作用是持久化编译结果,提升下次的执行效率(会不会持久根据的是import机制;也可以通过命令手动编译&持久化:python -m py_compile a.py,然后会生成pyc文件,此文件不能被查看可以起到保护的作用)
  3. .py和.pyc文件都可以交给解释器直接处理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

啥都鼓捣的小yao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值