从Hello World 谈Python运行原理

        因公司需求,今天开始学习Python,对于python语言,早听行内朋友听过,简单说是面向对象的简单轻巧、解释性的脚本语言。 通过今天写hello world确实领教了Python的简洁。

 一、Hello world的python两种实现方法

      方法一、 打开Python的IDLE(Python GUI),在里面直接输入: 如下图所示

从Hello World 谈Python运行原理_第1张图片

细心的朋友会看到,第一行输入print 'Hello' 时候会报错,这里要特别注意,这是python3版本的区别。 

     方法二、在D:\pythonWorkspace 下面创建文件hello.py,内容是print('Hello world'). 然后在命令窗口执行,如图:

从Hello World 谈Python运行原理_第2张图片

可以看到用上面两种方法都可以实现hello world。

二、解释原理分析

  如果看过我写的关于编译器和解释器博文的朋友应该知道,python是一种解释性语言,它首先翻译成字节码,然后由python字节码虚拟机逐行解释。

从Hello World 谈Python运行原理_第3张图片

PyCodeObject说明

PyCodeObject对象的创建时机是模块加载的时候,即import。Python test.py会对test.py进行编译成字节码并解释执行,但是不会生成test.pyc。如果test.py加载了其他模块,如import util,Python会对util.py进行编译成字节码,生成util.pyc,然后对字节码解释执行。如果想生成test.pyc,我们可以使用Python内置模块py_compile来编译。加载模块时,如果同时存在.py和.pyc,Python会尝试使用.pyc,如果.pyc的编译时间早于.py的修改时间,则重新编译.py并更新.pyc。



你可能感兴趣的:(python,技术,语言)