什么是Python解释器?

文章目录

  • 什么是Python解释器?
    • 1.python解释器是什么?
    • 2.python解释器的构成及其各部分功能
    • 3.执行过程原理
    • 4.python解释器的种类

1.python解释器是什么?

计算机的大脑是CPU, 中文名叫中央处理器,它仍然不能直接处理 Python 语言。CPU 只能直接处理机器指令语言,那是一种由0和1数字组成的语言,这是一种我们人很难直接写出来的语言。所以,我们需要一个翻译,把Python语言翻译成 计算机CPU 能听懂的机器指令语言,这样计算机才能按照 我们的Python程序的要求去做事。.py结尾的文件需要解释器去运行执行。

2.python解释器的构成及其各部分功能

解释器由一个编译器和一个虚拟机构成,编译器负责将源代码转换成字节码文件,而虚拟机负责执行字节码。
所以,解释型语言其实也有编译过程,只不过这个编译过程并不是直接生成目标代码,而是中间代码(字节码),然后再通过虚拟机来逐行解释执行字节码

3.执行过程原理

1.执行 python XX.py 后,将会启动 Python 的解释器
2.python解释器的编译器会将.py源文件编译(解释)成字节码生成PyCodeObject字节码对象存放在内存中。
3.python解释器的虚拟机将执行内存中的字节码对象转化为机器语言,虚拟机与操作系统交互,使机器语言在机器硬件上运行。
4.运行结束后python解释器则将PyCodeObject写回到pyc文件中。当python程序第二次运行时,首先程序会在硬盘中寻找pyc文件,如果找到,则直接载入,否则就重复上面的过程。

Python解释器执行程序的三个阶段,例如执行(python3 D:\test.py)
第一步:先启动python3解释器
第二步:Python3解释器就像一个文本编辑器一样将文件python3 D:\test.py从硬盘读入内存
第三步:Python3解释器解释执行文件代码
只有第三阶段才识别python的语法

4.python解释器的种类

1.Cpython
官方下载的python2.7均为Cpython。Cpython是用C语言开发的,因此得名
2.Ipython
IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。
CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。
3.PyPy
PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。
绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点
4.Jython
Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。
5.Ironpython
IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。

什么是Python解释器?相关推荐

  1. PyCharm 配置远程python解释器和在本地修改服务器代码

    使用场景 先说说自己的使用场景,我是在什么情况下,需要将IDE配置成这样的环境来方便我的工作. 首先,我需要在本地机子上写python代码,但是因为是机器学习相关的一些代码,有时候本机跑可能会很慢,或 ...

  2. python解释器环境中、用于表示上一次_大工20秋《数据挖掘》在线作业3 【标准答案】...

    可做奥鹏全部院校作业论文!答案请添加qq:599792222 或 微信:1095258436 大工20秋<数据挖掘>在线作业3 1.[单选题] 以下哪一种数据类型元素之间是无序的,相同元素 ...

  3. Jupyter notebook 指定 Python 解释器 anaconda

    Jupyter notebook 指定 Python 解释器 anaconda 打开jupyter notebook新建一个文件,发现只有一个默认的解释器,我们在指定的虚拟环境中安装了我们想要的包后是 ...

  4. 查看python解释器安装路径

    查看python解释器安装路径 在Windows下或Linux下的pycharm中进行查看: 示例代码: import sys print(sys.executable) 运行效果: 在Linux下用 ...

  5. python解释器的功能_python的解释器是什么?

    python解释器是解释python脚本执行的程序.编写python代码保存后,我们会得到一个以.py为扩展名的文本文件.要运行此文件,就需要python解释器去执行.py文件. python解释器种 ...

  6. Python之父考虑重构Python解释器

    7月22日,Python之父Guido在Medium上发表了他的第一篇博文<PEG Parser>. 在该文中,Guido说他正在考虑使用PEG Parser代替现有的类LL(1) Par ...

  7. 编程语言介绍、python解释器执行代码的过程

    内容大纲 1.编程语言介绍 (*****) 2.Python解释器 (****) 3.执行Python程序的两种方式(****) 4.变量 (*****) 一.编程语言介绍 (*****) 计算机语言 ...

  8. pycharm中python解释器的配置

    在pycharm中写python代码时出现了如下错误:No Python interpreter selected. 原来是没有配置python解释器,如果已安装python解释器,只要配置一下就好了 ...

  9. python运行文件后缀_Python程序存储成以.py为扩展名的程序文件用Python解释器执行。(4.5分)_学小易找答案...

    [简答题]简述助跑的两种起动方式? [填空题]在跳远技术的发展过程中,曾经出现过 . . .等3中姿势. [判断题]一般情况下,Python语言中使用符号#表示程序中的注释.(4.5分) [论述题]请 ...

  10. 有汇编功能的python编译器_7.12 计算机基础理念与python解释器编译器安装使用

    7.12学习与收获 在7.12这一天,我学习了计算机的语言,编程方面的基本理念,以及python的一些基本语法与应用. 计算机是什么 计算机是一种满足人类各种工作与娱乐需求的工具. 计算机发展史 19 ...

最新文章

  1. iOS-Swift中的递增(++)和递减(--)被取消的原因-官方答复
  2. 【瞎写代码】系列之redux表面理解
  3. php 处理html,PHP解析HTML代码
  4. 从零入门 FreeRTOS 操作系统之任务的概念
  5. Java经典面试题整理及答案详解(四)
  6. Extjs4:改变Grid单元格背景色(转载)
  7. 以NETSCREEN-50为例,说明防火墙配置步骤
  8. The size of tensor a (4) must match the size of tensor b (3) at non-singletonThe size of
  9. 终于有人把大数据讲明白了。。。
  10. GitLab 分享项目到指定小组或者指定用户
  11. 终于来了!全球首发联发科天玑1000+手机入网
  12. ajax无法发送json串,如何使用$ .ajax发送JSON而不是查询字符串?
  13. ASP.NET之JSONHelper操作
  14. 提高工作沟通技巧,加强沟通,不要推测他人发生问题发生的原因
  15. 51nod 1770 数数字
  16. 影响程序运行速度的几个因素
  17. java.lang.IllegalStateException: The specified message queue synchronization barrier token has not
  18. vscode的工作区的问题
  19. 打开网页时有些图片显示不出怎么办
  20. Impala服务:unable to find SASL plugin: PLAIN

热门文章

  1. eclipse运行java快捷键,eclipse常用快捷键
  2. 关于iptables封禁国外ip的方法
  3. Python连连看小游戏源代码
  4. java版Spring Cloud+VR全景+直播短视频带货+三级分销+b2b2c多商家入驻前后端分离商城源码
  5. 平面设计从事什么工作
  6. XML文件怎么转换成Excel表格文件
  7. 一款好看的pycharm主题Atom One Dark
  8. 老主板BIOS不识别nvem固态硬盘,修改BIOS添加nvme驱动
  9. 为什么建议每个开发人员都需要学Python?
  10. 离线服务器系统补丁如何打,Win系统补丁要不要打?如何打补丁才最适合?