虽然Python被说成是一种解释型语言,但是实际上,Python源程序要先经过编译,然后才能运行。

与Java语言类似,Python源程序编译之后得到的是字节码,交由Python虚拟机来运行。

关于这一点,我们可以这样来验证:

#!/usr/bin/pythonprint "position1"
1_syntax_error_identifier
print "position2"

将它保存为program.py,然后在shell窗口中运行它:

root@dell:~$ ./program.pyFile "./program.py", line 41_syntax_error_identifier^
SyntaxError: invalid syntax
root@dell:~$ 

从这里可以看出,如果Python是纯粹解释运行的话,那么它应该输出position1。

如果是编译运行的话,首先应该发现源代码中的语法错误,这正是本例展示的情况。

转载于:https://www.cnblogs.com/frydsh/p/3249142.html

Python是编译运行的相关推荐

  1. python是脚本语言、需要编译器编译执行_使用Notepad++编译运行C/C++/Python程序

    对我来说,比较常用的是C/C++/Python. 使用Notepad++编译运行单个源文件的C/C++/Python,比使用复杂的IDE更加快捷. 想要让Notepad++能够做到编译运行C/C++/ ...

  2. python 预编译加速_让Python代码运行更快的最佳方式

    Python因其强大.灵活且易于使用等特性,而赢得了声誉.这些优点使其在各种各样的应用程序.工作流程和领域中得到了广泛应用.但是就语言的设计,也就是它天然的解释能力还有它的运行时的动态性而言,Pyth ...

  3. codeblocks无法编译运行_编程必修课:一文弄懂python的运行机制

    Python的维基百科说明:"是一种广泛使用的解释型,高级编程,通用型语言,具有动态类型和垃圾回收功能,能够自动管理内存使用" Python的设计哲学: 优美优于丑陋,明了优于隐晦 ...

  4. 可以在线编译运行代码的网站(支持Python)

    推荐一个非常不错,可以在线编译.运行代码的网站https://www.dotcpp.com/run/ 同时支持C.C++.java.Python.php等语言,实时编译运行,非常方便

  5. python 动态编译代码_使用PyQt(Python+Qt)+动态编译36行代码实现的计算器

    PyQt是基于跨平台的图形界面C++开发工具Qt加Python包装的一个GPL软件(GPL是GNU General Public License的缩写,是GNU通用公共授权非正式的中文翻译),Qt基于 ...

  6. python文件编译_我算是白学Python了,现在才知道原来Python是可以编译的

    斌哥说 大家好,我是斌哥. 一说起Python,可能开发者第一时间想到的就是:"Python是一门能快速开发的解释型语言". 没错,Python确实是一门解释型的语言,而对比Jav ...

  7. 使用sublime编译运行C程序

    原 使用sublime编译运行C程序 2017年04月13日 17:09:16 DragonFreedom 阅读数 13177 1.打开sublime,找到顶部工具(Tool)菜单->编译系统( ...

  8. python防反编译_Python - 浅谈Python的编译与反编译

    1 - Python编译过程涉及的文件 py 源代码文件,由python.exe解释,可在控制台下运行,可用文本编辑器进行编辑: pyc 源代码文件经过编译后生成的二进制文件,无法用文本编辑器进行编辑 ...

  9. python源代码不需要编译成什么-python需要编译么

    一个经常听见的问题,那就是:Python是解释型的语言吗?它会被编译吗?这个问题没有想象中那么好回答.和很多人认识世界一样,习惯以一个简单的模型去评判一些事物.而事实上,里面包含了很多很多的细节. 通 ...

最新文章

  1. [专业亲测]Ubuntu16.04安装Nvidia显卡驱动(cuda)--解决你的所有困惑【转】
  2. 一文读懂因果推断的起源
  3. 【IOS 开发】Objective - C 面向对象高级特性 - 包装类 | 类处理 | 类别 | 扩展 | 协议 | 委托 | 异常处理 | 反射
  4. Navicat使用教程:在Navicat Monitor for MySQL/MariaDB中配置实
  5. php csrf攻击 xss区别,用大白话谈谈XSS与CSRF
  6. libevent源码深度剖析八
  7. 计算机专业词典_好书优选:实用英汉汉英计算机词典
  8. 【库】/lib64/libc.so.6: version `GLIBC_2.14' not found问题
  9. java.lang.OutOfMemoryError 解决方式
  10. 威纶触摸屏与电脑连接_PLC与这7种设备的连接方式,一看就懂!
  11. C#中利用Linq.Dynamic实现简单的动态表达式构建查询
  12. openstack Nova日志相关
  13. 最短路(HDU-2544)
  14. 安装报错_Mysqlclient安装报错的3种情况
  15. 贵州大学计算机科学与技术学院排名,贵州大学的计算机专业全国排名第几?
  16. android 360度环拍,Android 4.2系统360度全景图拍摄试玩
  17. 大数据的核心价值是什么
  18. 2012,当我们谈论移动互联网创业时,我们在谈论些什么?
  19. 【文献笔记】NOMA+D2D模型3 (D2D group)
  20. Android字体加粗,UI小姐姐说太粗了,解决办法

热门文章

  1. WorkFlow入门Step.3—Adding Procedural Elements-For...
  2. Excel导出时数据中有特殊字符的可能会出错
  3. JavaWeb——mybatis模糊查询与主键返回
  4. Web请求响应编码问题详解
  5. Java高阶入门N篇
  6. cocos2dx之Http网络编程(一)——网络请求的发送和接收
  7. android应用开发全程实录-你有多熟悉listview? .
  8. C#图片处理之: 另存为压缩质量可自己控制的JPEG
  9. 服务器机柜内手机信号,手机信号强度是什么
  10. php 按key大小排序,PHP实现二维数组根据key进行排序的方法