Python源代码的编译的具体方案应用描述

开发 后端
Python源代码的编译的实际操作中我们通常会使用命令运行一个python程序。而Python源代码的编译是运用什么方案进行其程序?以下就是相关内容的介绍。

在计算机语言中Python源代码一般的情况下是不进行编译的,只是通过几个文件就能运用的,以下的文章主要是通过Python源代码的相关代码来具体描述Python源代码的编译是如何进行的。

我们一般使用这样的命令运行一个python程序:

 

  1. C:\> python im.py 

其中,im.py文件的内容是:

 

  1. #!/usr/bin/env python  
  2. import mymodule  
  3. mymodule.say(”hello”)   

 

执行这一命令后,Python解释器其实并不一定会读入mymodule.py文件,它会尝试读取mymodule.pyc文件或者mymodule.pyo文件。如果都失败了,或者mymodule.py文件比mymodule.pyc/mymodule.pyo新,才转而读入mymodule.py文件。

Python只懂得解释执行字节码,所以mymodule.py文件读入后***件事就是先进行编译。编译的结果会被尝试保存到mymodule.pyc文件中。等一下会讨论如何控制Python的编译过程。

虽然与C++/Java这样的静态语言一样,采用了编译(compile)这个术语,实际情况还是有所不同的。首先,最明显的一点,Python源代码编译的最终结果不是机器码,而是字节码。Python的编译实际上主要是进行文法分析,生成一个抽象语法树,然后转储成字节码形式了事。#t#

从上面的介绍可以发现Python的编译与C++相去甚远。不过倒与Java有些相像,因为它们都生成字节码。凭良心说,Java的编译过程比Python先进很多。Java的解释器在执行Java字节码的时候,会使用JIT,将循环操作等热点转化成为机器码。所以有时候Java的性能能够达到接近C++的级别。

Python缺少JIT并非故意所为,而是缺少人力资源。现在已经有一个pysco的外部模块,据说能大大提高Python代码的速度,不过这个模块还没有进入Python的官方代码。

以上的文章就是对Python源代码的编译的实际操作步骤的部分介绍。

 

责任编辑:佚名 来源: 互联网
相关推荐

2010-03-22 17:12:21

Python VIM

2010-03-17 18:21:26

Python数据结构

2010-03-18 10:28:00

Python整理乱码

2010-04-06 09:48:33

Oracle性能

2010-08-12 16:10:45

DB2 Online

2010-09-26 13:05:58

2010-03-19 15:16:11

Python代码

2010-05-12 09:42:24

MySQL 列值比较

2010-07-07 11:28:12

SQL Server索

2010-07-15 13:22:28

2010-03-09 15:48:06

Python抓取

2010-03-17 15:58:08

Python环境

2010-05-07 18:14:08

Oracle性能调整

2010-03-25 17:10:42

Python设置环境

2010-04-23 10:42:20

Oracle实现

2021-07-07 05:53:23

PythonPython 语法加密源代码

2010-03-01 15:55:00

Fedora Eva

2010-03-16 14:48:02

云计算

2022-01-09 20:26:14

Flink源代码编译

2010-07-07 09:47:04

SQL Server索
点赞
收藏

51CTO技术栈公众号