编译性语言

源码--》编译--》链接--》可执行文件
  • 拿着这个可执行文件到任意平台去执行,运行时不用再编译
  • 一次编译,到处运行

解释性语言

  • 在程序运行时被即时翻译成原生CPU指令的语言
python源码--》python解释器(生成字节码文件)--》机器执行
  • 运行时再翻译成机器指令,“每次”运行时虚拟机都会先把源码编译成字节码(即pyc文件,也不是每次都会编译,会缓存pyc文件),然后再将字节码解释成机器语言给机器执行。
  • python的字节码文件缓存机制:第一次运行后,会将通用的模块编译成字节码文件后以pyc文件写入硬盘保存,下次调用此模块时,如果模块内容没有发生变化,就直接用此pyc文件,而不会再重新编译一次,加快了运行速度。
  • 依赖于解释器,源码运行的环境需要python解释器
  • 字节码:专门供Python的虚拟机来执行的命令
  • python解释器:“翻译官”角色,将字节码先编译成“pyc”文件,然后解释成机器语言执行

参考:
Python程序的执行过程原理(解释型语言和编译型语言)
Python字节码(.pyc)介绍

python程序运行原理相关推荐

  1. python程序运行原理_谈谈 Python 程序的运行原理

    因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.请访问我的个人网站获取这篇文章的最新内容,谈谈 Python 程序的运行原理 这篇文章准确说是『Python 源码剖析』的 ...

  2. python解析器原理_Python程序运行原理图文解析

    本文研究的主要是Python程序运行原理,具体介绍如下. 编译型语言(C语言为例) 动态型语言 一个程序是如何运行起来的?比如下面的代码 #othermodule.py def add(a, b): ...

  3. 下列快捷键中能中断python程序运行的是_What is very important

    What is very important 答:all of the above 下列符合"中和"精神的是() 答:风调雨顺 宠辱不惊 为了解某高校大学生体育锻炼情况,在该学校随 ...

  4. 下列快捷键中能够中断python程序运行的是_例题学习

    105.关于Python循环结构,以下选项中描述错误的是 ( C ) A: Python通过for.while等保留字提供遍历循环和无限循环结构 B: break用来跳出最内层for或者while循环 ...

  5. python 直接退出程序_python 退出程序 Python程序运行后直接退出

    python中exit(0)和exit(1)的用法和区别, exit(0):表示程序正常退出. exit(1):表示程序异常退出. 二.特点不同 exit(0):把exit用在main内的时候无论ma ...

  6. python程序运行的遇到的问题(一)

    python程序运行的遇到的问题(一) 绘制词云发生了报错问题 文章目录 python程序运行的遇到的问题(一) 绘制词云发生了报错问题 Python报错:OSError: cannot open r ...

  7. python代码怎么运行-Python程序执行原理,python程序怎么运行的?

    随着人工智能时代的来临,python成为了人们学习编程的首先语言.那么,python程序的程序的执行原理什么呢?python程序怎么运行的?我们下面来介绍下. 我们都知道,使用CC++之类的编译性语言 ...

  8. python程序-Python程序执行原理,python程序怎么运行的?

    随着人工智能时代的来临,python成为了人们学习编程的首先语言.那么,python程序的程序的执行原理什么呢?python程序怎么运行的?我们下面来介绍下. 我们都知道,使用CC++之类的编译性语言 ...

  9. python程序的原理_Python程序的执行原理(转)

    1. 过程概述 Python先把代码(.py文件)编译成字节码,交给字节码虚拟机,然后虚拟机一条一条执行字节码指令,从而完成程序的执行. 2. 字节码 字节码在Python虚拟机程序里对应的是PyCo ...

  10. Python虚拟机运行原理

    python并不将py文件编译为机器码来运行,而是由python虚拟机一条条地将py語句解释运行,这也是为什么被称为解释语言的原因之一.但python虚拟机并不直接执行py語句,它执行编译py語句后生 ...

最新文章

  1. AXI总线基本知识:(基于uart_lite IP核)
  2. 集中配置管理工具puppet安装使用
  3. 【Oracle】触发器最系统入门学习指导
  4. 【git】【eclipse】 误操作“忽略(ignore)文件”,取消忽略文件操作
  5. 使用 RUP 管理小型项目和团队
  6. Android分渠道打包(Python 3.4 实现)
  7. jmeter java接口_JMeter接口Java开发五步曲
  8. 【Python CheckiO 题解】Second Index
  9. iOS开发--验证码
  10. oracle的redo与undio
  11. Hibernate框架 配置文件基本架构
  12. RobotFramework中查询数据库相关
  13. jquery按名称选择_jQuery按类别选择
  14. Linux命令格式查询目录中的内容
  15. Java进阶:SpringMVC中通过监听器将Spring上下文对象放置到servletContext中,方便其他地方使用
  16. 推荐一些socket工具,TCP、UDP调试、抓包工具
  17. 理论篇-地图学与GIS制图的基础理论(一)
  18. Java算法——地图单点坐标判断是否存在于某个区域
  19. Android USB通信开发总结和热敏打印机开发实例解析
  20. oracle 游离块修复,求助讨论---上颌单侧后牙游离缺失的修复

热门文章

  1. Asp.Net客户端触发服务器端事件及_dopostback
  2. Unity编辑器:自定义编辑器样式——GUIStyle
  3. mac设置多个屏幕显示的问题
  4. exchange2003系列总结:-5邮件加密与签名的工作流程
  5. artDialog双击会关闭对话框的修改
  6. Android中日期与时间设置控件的使用
  7. Cisco PIX 简单配置-4
  8. 计算机定义函数求出以下,求大神看一下 计算机提示 函数定义不合法
  9. 单片机c语言指针赋地址,[转载]单片机c语言指针和取地址以及类型转换
  10. 【前端】相信你会用到的一篇笔记---CSS篇(1)