千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:西安千锋IT培训  >  技术干货  >  python 编译器

python 编译器

来源:千锋教育
发布人:xqq
时间: 2023-11-12 07:22:57

执行pythondemo.py后,将会启动Python的解释器,然后将demo.py编译成一个字节码对象PyCodeObject。

有的人可能会很好奇,编译的结果不应是pyc文件吗,就像Java的class文件,那为什么是一个对象呢,这里稍微解释一下。

在Python的世界中,一切都是对象,函数也是对象,类型也是对象,类也是对象(类属于自定义的类型,在Python2.2之前,int,dict这些内置类型与类是存在不同的,在之后才统一起来,全部继承自object),甚至连编译出来的字节码也是对象,.pyc文件是字节码对象(PyCodeObject)在硬盘上的表现形式。

在运行期间,编译结果也就是PyCodeObject对象,只会存在于内存中,而当这个模块的Python代码执行完后,就会将编译结果保存到了pyc文件中,这样下次就不用编译,直接加载到内存中。pyc文件只是PyCodeObject对象在硬盘上的表现形式。

这个PyCodeObject对象包含了Python源代码中的字符串,常量值,以及通过语法解析后编译生成的字节码指令。PyCodeObject对象还会存储这些字节码指令与原始代码行号的对应关系,这样当出现异常时,就能指明位于哪一行的代码。

以上内容为大家介绍了python编译器,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

python怎么写个简单的python脚本

2023-11-12

python在哪里能输入

2023-11-12

python怎么换行

2023-11-12

最新文章NEW

如何中断python的执行

2023-11-12

Python元组怎么转换成列表

2023-11-12

python列表是否允许重复

2023-11-12

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>