python程序运行原理
编译性语言
源码--》编译--》链接--》可执行文件
- 拿着这个可执行文件到任意平台去执行,运行时不用再编译
- 一次编译,到处运行
解释性语言
- 在程序运行时被即时翻译成原生CPU指令的语言
python源码--》python解释器(生成字节码文件)--》机器执行
- 运行时再翻译成机器指令,“每次”运行时虚拟机都会先把源码编译成字节码(即pyc文件,也不是每次都会编译,会缓存pyc文件),然后再将字节码解释成机器语言给机器执行。
- python的字节码文件缓存机制:第一次运行后,会将通用的模块编译成字节码文件后以pyc文件写入硬盘保存,下次调用此模块时,如果模块内容没有发生变化,就直接用此pyc文件,而不会再重新编译一次,加快了运行速度。
- 依赖于解释器,源码运行的环境需要python解释器
- 字节码:专门供Python的虚拟机来执行的命令
- python解释器:“翻译官”角色,将字节码先编译成“pyc”文件,然后解释成机器语言执行
参考:
Python程序的执行过程原理(解释型语言和编译型语言)
Python字节码(.pyc)介绍
python程序运行原理相关推荐
- python程序运行原理_谈谈 Python 程序的运行原理
因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.请访问我的个人网站获取这篇文章的最新内容,谈谈 Python 程序的运行原理 这篇文章准确说是『Python 源码剖析』的 ...
- python解析器原理_Python程序运行原理图文解析
本文研究的主要是Python程序运行原理,具体介绍如下. 编译型语言(C语言为例) 动态型语言 一个程序是如何运行起来的?比如下面的代码 #othermodule.py def add(a, b): ...
- 下列快捷键中能中断python程序运行的是_What is very important
What is very important 答:all of the above 下列符合"中和"精神的是() 答:风调雨顺 宠辱不惊 为了解某高校大学生体育锻炼情况,在该学校随 ...
- 下列快捷键中能够中断python程序运行的是_例题学习
105.关于Python循环结构,以下选项中描述错误的是 ( C ) A: Python通过for.while等保留字提供遍历循环和无限循环结构 B: break用来跳出最内层for或者while循环 ...
- python 直接退出程序_python 退出程序 Python程序运行后直接退出
python中exit(0)和exit(1)的用法和区别, exit(0):表示程序正常退出. exit(1):表示程序异常退出. 二.特点不同 exit(0):把exit用在main内的时候无论ma ...
- python程序运行的遇到的问题(一)
python程序运行的遇到的问题(一) 绘制词云发生了报错问题 文章目录 python程序运行的遇到的问题(一) 绘制词云发生了报错问题 Python报错:OSError: cannot open r ...
- python代码怎么运行-Python程序执行原理,python程序怎么运行的?
随着人工智能时代的来临,python成为了人们学习编程的首先语言.那么,python程序的程序的执行原理什么呢?python程序怎么运行的?我们下面来介绍下. 我们都知道,使用CC++之类的编译性语言 ...
- python程序-Python程序执行原理,python程序怎么运行的?
随着人工智能时代的来临,python成为了人们学习编程的首先语言.那么,python程序的程序的执行原理什么呢?python程序怎么运行的?我们下面来介绍下. 我们都知道,使用CC++之类的编译性语言 ...
- python程序的原理_Python程序的执行原理(转)
1. 过程概述 Python先把代码(.py文件)编译成字节码,交给字节码虚拟机,然后虚拟机一条一条执行字节码指令,从而完成程序的执行. 2. 字节码 字节码在Python虚拟机程序里对应的是PyCo ...
- Python虚拟机运行原理
python并不将py文件编译为机器码来运行,而是由python虚拟机一条条地将py語句解释运行,这也是为什么被称为解释语言的原因之一.但python虚拟机并不直接执行py語句,它执行编译py語句后生 ...
最新文章
- AXI总线基本知识:(基于uart_lite IP核)
- 集中配置管理工具puppet安装使用
- 【Oracle】触发器最系统入门学习指导
- 【git】【eclipse】 误操作“忽略(ignore)文件”,取消忽略文件操作
- 使用 RUP 管理小型项目和团队
- Android分渠道打包(Python 3.4 实现)
- jmeter java接口_JMeter接口Java开发五步曲
- 【Python CheckiO 题解】Second Index
- iOS开发--验证码
- oracle的redo与undio
- Hibernate框架 配置文件基本架构
- RobotFramework中查询数据库相关
- jquery按名称选择_jQuery按类别选择
- Linux命令格式查询目录中的内容
- Java进阶:SpringMVC中通过监听器将Spring上下文对象放置到servletContext中,方便其他地方使用
- 推荐一些socket工具,TCP、UDP调试、抓包工具
- 理论篇-地图学与GIS制图的基础理论(一)
- Java算法——地图单点坐标判断是否存在于某个区域
- Android USB通信开发总结和热敏打印机开发实例解析
- oracle 游离块修复,求助讨论---上颌单侧后牙游离缺失的修复