首页 > 编程语言 >Python如何运行程序

Python如何运行程序

时间:2023-01-19 14:23:56浏览次数:55  
标签:解释器 字节 Python 程序 PVM 运行

Python如何运行程序

Python解释器简介

  • 解释器是一种让其他程序运行起来的程序。
  • Python解释器将读取程序,并按照其中的命令执行,得出结果。
  • 解释器是代码与机器的计算机硬件之间的软件逻辑层。
  • 解释器本身可以用C程序实现,或者一些Java类实现。

程序执行

程序员视角

  • Python程序仅是一个包含Python语句的文本文件。
  • Python文件是以.py结尾的。从技术上讲,这种命名方案在被“导入”时才是必须的。
  • Python解释器讲从头至尾按照顺序运行文件中的语句。

Python解释器视角

字节码编译

  • Python内部会先将源代码编译成字节码的形式。字节码是一种低级的,与平台无关的表现形式。
  • 源文件的修改和Python版本的改变都会触发新的字节码的编译。
  • 字节码只会针对那些被导入的文件而生成,而不是顶层的执行脚本。(严格来说,这是一种针对“导入”的优化)

Python虚拟机(PVM)

  • 一旦程序编译成字节码,之后的字节码发送到通常称为Python虚拟机(PVM)的程序上来执行。
  • 本质上PVM就是迭代运行字节码指令的一个大循环,一个接一个地完成操作。
  • 从技术上讲,它只是所谓“Python解释器”的最后一步。
    image

性能的含义

  • Python的工作中通常没有构建或“make”的步骤。
  • Python字节码不是机器的二进制代码。
  • PVM仍需解释字节码,并且字节码指令比CPU指令需要更多的工作。
  • 与其他经典解释器不同,Python仍有内部编译的步骤:Python并不需要反复地重新分析和重新分解每一行源代码语句的文本。
  • 纯Python代码的运行速度介于传统编译语言和传统解释语言之间。

开发的含义

  • Python的执行模型导致开发和执行的环境没有区别。
  • 在Python中,编译器总是在运行时出现,并且是运行系统的一部分。

标签:解释器,字节,Python,程序,PVM,运行
From: https://www.cnblogs.com/samsong1991/p/17021143.html

相关文章

  • win10下python3.9的代理报错问题解决(附web3的polygon爬虫源码)
    背景因为工作中经常需要代理访问,而开了代理,request就会报错SSLError,如下:requests.exceptions.SSLError:HTTPSConnectionPool(host='test-admin.xxx.cn',port=443):Ma......
  • matlab练习程序(门限回归TR与门限自回归TAR)
    门限回归和门限自回归是对基本的回归和自回归加上一个阈值判断。下面简单的表述一下公式。回归模型可以用下述公式表示:则门限回归可以表示为: 自回归模型可以用下述......
  • 查询并发程序是否启动跟踪功能-trc文件对数据库性能有
    SELECTICON_NAME,ROW_ID,USER_CONCURRENT_PROGRAM_NAME,ENABLED_FLAG,CONCURRENT_PROGRAM_NAME,DESCRIPTION,EXECUTION_OPTIONS,REQUEST_PRIORITY,......
  • python3安装
    前言由于CentOS7本身就需要安装Python2.7.5,而且这个Python2不能被删除,因为有很多系统命令,比如yum都要用到。whichpythonPython3的方法首先安装依赖包yum-ygroupi......
  • Windbg分析 64位系统抓32位程序的DUMP
    当你在64位Windows系统上抓32位进程的dmup文件时如果用的是64位任务管理器那么在用Windbg加载后要用!wow64exts.sw切换到X86模式下.如果不想做这步切换就要用32位的任务管......
  • python提取json中键值
    0X00 样例数据:{'d':{'__type':'st','YX':"<tableid='tabyxlist'><tr><tdclass='tdth'>院校名称</td><tdclass='tdth'>计划数</td></tr><trid=......
  • 【转载】 python鸭子类型与protocol
    版权声明:本文为CSDN博主「yuanzhoulvpi」的原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/yuanzhoulvpi/article/deta......
  • 如何通过Java应用程序将 PDF转为Word文档
    众所周知,PDF文档除了具有较强稳定性和兼容性外, 还具有较强的安全性,在工作中可以有效避免别人无意中对文档内容进行修改。但与此同时,也妨碍了对文档的正常的修改。这时我......
  • python _XMLParser.__init__()初始化失败,提示“takes 1 positional argument but 4 we
    问题:在一个新的环境下,执行openpyxl相关的操作,初始化时,逐步执行,需要调到 ElementTree.py_XMLParser.__init__(self,html,target,encoding),但是初始化报错,【 _XMLPars......
  • Pytest - 测试用例管理及运行管理
    目录跳过测试用例@pytest.mark.skip装饰器跳过测试用例常用的标记有以下几种:skip:只有当某些条件满足时,才执行测试用例,否则跳过整个测试用例的执行xfail:因为一个确切......