执行Python程序时,自动生成的.pyc文件的作用是什么,python文件怎么运行
目录
Python语言类型
2.描述语言和编译语言的区别。
python到底是什么?
python的执行过程
重印地址
一个python语言类型刚学python的时候,听到第一个关于python的词。直到*的存在,Python都是解释性语言。发现了pyc文件。对于解释器语言,生成*的时候做什么?pyc文件?
我觉得C是compiled的缩写。为了避免学习python时被这句话误解,有必要搞清楚这个问题,梳理一下基本概念。
2.说明性语言和编译语言的区别。计算机无法识别高级语言,所以在运行高级语言程序时,需要一个“翻译员”来从事将高级语言转换成计算机可读的机器语言的过程。这个过程分为两类,第一类是编译,第二类是解读。
编译语言在程序运行之前,编译器对程序执行编译过程,将程序转换成机器语言。运行时不需要翻译,直接运行即可。最典型的例子就是C语言。
解释器类型语言没有这个编译过程。程序运行时,通过解释器逐行解释程序,然后按原样运行。最典型的例子就是Ruby。
通过上面的例子,总结了解释性语言和编译性语言的优缺点。编译语言的效率非常高,因为它会在运行时烧掉“翻译”过程,因为程序在运行之前已经被“翻译”过了。但是,不能一概而论。通过在翻译程序时优化整个程序,解释器优化也可以有效地接近编译语言。
此外,随着基于虚拟机的语言(如Java)的兴起,语言不再可以分为解释型和编译型两种。
以Java为例。Java首先被编译器编译成字节码文件,然后在运行时被解释器解释成机器文件。所以java是一种先编码后解释的语言。
3.python到底是什么?其实Python和java/C#一样,都是基于虚拟机的语言。在命令行中键入python hello.py实际上会激活python的“解释器”,并告诉“解释器”“您要开始工作了”。但是在“解释”之前,实际执行的第一项工作和java一样,是编译。
Python是一种先编译再解释的语言。
四。python的执行过程在讲这个问题之前,我们要先讲两个概念,PyCodeObject和pyc file。
实际上,PyCodeObject是python编译器实际编译的结果。
当python程序运行时,编译结果存储在内存中的PyCodeObject中,python解释器将pycodeObject写回PyC文件。
python程序第二次运行时,程序首先在硬盘上寻找pyc文件,如果找到,就直接加载。否则,重复上述步骤。
所以,我们应该这样定位PyCodeObject和pyc文件。我说pyc文件实际上是保存PyCodeObject的一种持久方式。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。