zoukankan      html  css  js  c++  java
  • python入门-python解释器执行

      最近由于公司需要,接触了python这门神奇的语言,给我的感觉就是开发快速和代码简洁。

      开始还是先罗列一下解释性语言和编译性语言的差别吧0.0!

      编译性语言:是在程序运行前,需要专门的一个编译过程,如生成exehex文件等特定的机器语言文件。(必须在特定系统上)。  所以以后就可以直接运行,不用在进行编译了。但该文件不能夸操作系统系统平台,因为该文件在不同操作系统中是不识别的。

      解释性语言:不需要解释,是在程序执行的时候,运行一行翻译一行。所以每次执行都要进行解释。

      两者的本质区别

     1运行的时间不同:

      编译性语言是在程序运行前进行编译

      解释性语言在程序运行时进行解释

     2可移植性:

      编译性语言只能在特定机器上运行,不可移植

      解释性语言可实现跨平台操作

      我们知道一些编译性语言比如C、C++,他们需要先从源文件编译转换成计算机的语言,经过连接器形成可执行的二进制文件,执行时将这些二进制文件加载到内存中运行。

      一般解释性语言运行方式则和编译型语言有很大的差别。解释性语言直接从源代码运行程序,而且是一句一句的执行,那么他们是怎么让机器认识的呢?这里就要用到每门解释器语言对应的解释器啦。比如python解释器直接将源代码转换成字节码,然后再由解释器来执行这些字节码,转换成机器语言,最后就可以在机器上运行了。这些机制导致python有以下特性。

      由于每次执行时都要转化为字节码,然后在由虚拟机转化为机器语言,所以程序性能肯定会收到影响;由于程序员不要关心程序的编译和库的链接问题开发工作也更轻松;由于有python解释器和机器底层进行交互,从而让python代码和机器底层更加远了,所以python实现了跨平台。

      python针对性能问题提供了一种编译方法,编译之后可以得到pyc文件,储存了字节码,然后有一个专门的python解释器负责解释和执行字节码,这就省去了解释器将源代码转化成字节码的过程,也节省了加载模块的时间从而提高了执行效率,另外编译成pyc文件一定程度上也提高了代码的安全性。

  • 相关阅读:
    我终于会手打lct了!
    [模板]Dijkstra-优先队列优化-单源最短路
    99999999海岛帝国后传:算法大会
    正在加载中。。。。。
    【题解】CF1054D Changing Array(异或,贪心)
    【题解】P4550 收集邮票(概率期望,平方期望)
    【题解】CF149D Coloring Brackets(区间 DP,记忆化搜索)
    【笔记】斜率优化 DP
    CSP2021 游记
    【题解】洛谷P1502 窗口的星星
  • 原文地址:https://www.cnblogs.com/njfan/p/5764793.html
Copyright © 2011-2022 走看看