python vm每次编译方法吗?

Oha*_*esh 1 python vm-implementation

如果我有一个在我的模块中的几个地方调用的函数,虚拟机是否仅在第一次执行函数时将其编译为本机代码,而不是在其他调用中使用兑现代码?(比如.NET jit编译器)

Ned*_*der 9

在CPython(标准Python实现)中,第一次导入Python模块时,它被编译为字节码并存储在.pyc文件中.从那时起,VM会在需要时读取并解释.pyc文件.一旦.pyc被读入内存,字节码就在内存中,并在调用函数时由VM解释.

CPython从不将Python代码编译为本机可执行代码.