6.关于python执行原理

2022-10-31  本文已影响0人  celusing

一.python执行原理和java执行原理有何区别?
Java 是编译型和解释型语言的结合体

Java程序的运行必须经过编写,编译,运行3个步骤。

1.编写:指编写源代码,生成.java的文件,

2.编译:编译器对源程序进行错误排查,生成.class的字节码文件,是一种二进制文件,因此java是一种在编译基础上进行解释运行的语言。

3.运行:java解释器把字节码翻译成机器代码,JVM负责解释执行java的字节码。

其中.class 字节码文件说明
参考:https://blog.csdn.net/imzhiyang/article/details/77920771
1)源码文件,.java

image.png
2)字节码文件,.class
image.png

Python解释型(脚本)语言

   1.编写:.py文件

   2.解释:.pyc文件,存储了字节码

   python是一个解释型的语言,所以编译字节码不是一个强制的操作,事实上,编译是一个自动的过程,一般不会在意它的存在。python 源码不需要编译成二进制代码,它可以直接从源代码运行程序。当我们运行 python 文件程序的时候,python 解释器将源代码转换为字节码,然后再由 python 解释器来执行这些字节码。

其中.pyc字节码文件说明
参考:http://www.xumenger.com/01-python-pyc-20180521/
1)源码文件, .py

image.png
2)字节码文件,.pyc
image.png

二.导包
1.文件


image.png

2.a.py文件内容


image.png

测试1:通过from a import a_func方式


image.png image.png

测试2:通过import a 方式


image.png image.png

结论1:
通过上述两个case,可以看出:无论是from module import xxx方式还是import module方式,都会进行:module 模块公共的import

a.py文件


image.png

测试3:import a方式


image.png image.png

测试4:from a import a_func方式


image.png
image.png

结论2:从case3和case4测试可以看出,在函数中导入的module,只有在该函数被调用时,才会触发,否则不会被触发。

上一篇 下一篇

猜你喜欢

热点阅读