解释型语言是什么?对比编译型语言有什么区别?

为了将高级语言转换成计算机能识别的机器语言,需要一个‘翻译’过程。即编译或者解释

编译型语言

编译型语言的程序只要经过编译器编译之后,

每次运行程序都可以直接运行,不需要再次'翻译'

优点:执行速度快。

缺点:可移植性差,因为编译需要对操作系统的库做出链接,所以程序运行时需要用到特定的系统库

解释型语言解释语言编写的程序在每次运行时都需要通过解释器对程序进行动态解释和执行

即解释一条代码,执行一条

优点:可移植好,因为只需要各种系统有python解释器便可运行,不需要乱七八糟的系统库支持

缺点:执行速度慢,因为相比直接执行,多了一个翻译过程

额外知识:脚本语言  脚本语言也算是解释器语言的一个子集。

特点:由文本储存,可直接运行例如:你建立了一个程序,叫aa.exe,可以打开.aa为扩展名的文件.

你为.aa文件的编写指定了一套规则(语法),当别人编写了.aa文件后,你的程序用这种规则来理解编写人的意图,并作出回应.那么,这一套规则就是脚本语言

扩展知识:动态语言一类在运行时可以改变其结构的语言

运行时发现数据类型,运行时可变其结构的语言

例如:不需要事先声明变量类型,同一变量可以被赋值为不同的对象类型

并且,运行时可以动态引进新的函数、对象、类,或将已有的函数可以被删除或是其他结构上的变化

python解释器的种类和特点?

根据实现该解释器的语言分类

cpython,PyPy,Jython,Ironpython。分别是c语言,python,java,.net。

当然最常用的是cpython,因为其库最全。

值得注意的是,PyPy采用的技术可以显著提高运行速度

根据交互方式分类

ipython:基于CPython之上的一个交互式解释器,对于用户交互非常好

python解释器的执行程序的流程?

Python首先先把代码(.py文件)编译成半成品的字节码,然后将其交给虚拟机,虚拟机一条一条将字节码指令翻译成cpu可识别的机器指令交由CPU执行,从而完成程序的执行。

额外知识:什么是字节码?

字节码是一种中间状态(中间码)的二进制代码,包含执行程序、由一序列 op 代码/数据对。不能直接被CPU执行,

需要直译器转译后才能成为机器码。机器码便能被CPU执行

具体流程第一步:python解释器启动,此时就相当于启动了一个文本编辑器

第二步:从硬盘上将test.py的文件内容读入到内存中并翻译为字节码

注意:解释器只关心文件内容,不关心文件后缀名

第三步:python解释器解释执行刚刚加载到内存中test.py的代码

扩展知识:被执行的python代码和解释器绑定在一起

python进程其实就是解释器进程,解释器进程读取代码,呈现不同的效果。

附:python解释器的常用参数命令

python -i test.py运行后交互python -m pdb test.py运行后调试python -O test.py关闭断言

python -OO test.py

去掉assert语句和__doc__文档字符串

python语言是解释执行的、因此执行速度比编译型语言慢_解释型语言的特点与理解...相关推荐

  1. python语言的计算生态规模有多大_【单选题】Python 语言的一个重要特点是它有较多的计算生态,简单理解为第三方提供的可用编程模块 / 函数库 / 组件,这个规模有多大?...

    [单选题]Python 语言的一个重要特点是它有较多的计算生态,简单理解为第三方提供的可用编程模块 / 函数库 / 组件,这个规模有多大? 更多相关问题 [问答题,简答题] 顾客关系管理系统如何给企业 ...

  2. 以下python注释代码、叙述中不正确的是_关于 Python 语言的注释,以下选项中描述错误的是( )_学小易找答案...

    [多选题]下列各项中,企业应通过"其他货币资金"科目核算的经济业务有( ). [其它][变式训练 3]如图所示,用与地面成30°角的300 N的力向右上方拉小车,画出该力的示意图. ...

  3. python语言中、用来表示赋值的符号是_第二章Python语言基础知识

    第二章Python语言基础知识 2.1 Python语言基础知识 2.1.1标识符与关键字 在Python语言中,对程序中各个元素命名加以区分,这种用来标识变量.函数.类等元素的符号称为标识符. Py ...

  4. python语言提供的3个基本数字类型是什么_计算机二级python学习教程(3) python语言基本数据类型...

    本文继续计算机二级python教程的学习,之前已经学习过了计算机二级python学习教程(1) .计算机二级python学习教程(2) 3.1 数字类型 数字类型:整数类型.浮点数类型.复数类型. 整 ...

  5. python语言中函数在调用前必须先定义吗_应该在python中使用函数之前进行定义?...

    should the functions be defined before it is used? but why the following code works: def main(): dog ...

  6. 关于python语言和人工智能、下列说法不正确的是_关于人工智能,下列说法不正确的是...

    关于人工智能,下列说法不正确的是(人工智能的发展不会对人类产生任何风险). 人工智能(Artificial Intelligence),英文缩写为AI.它是研究.开发用于模拟.延伸和扩展人的智能的理论 ...

  7. python语言程序设计是什么,python语言程序设计教程

    python语言程序设计是什么 Python是一种跨平台的计算机程序设计语言. 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. 最初被设计用于编写自动化脚本(shell),随着版本的 ...

  8. python语言合法命名的_python语言合法命名_python合法命名

    CSDN提供了精准python语言的合法命名信息,主要包含:python语言的合法命名信等内容,查询最新最全的python 单下划线结尾_:只是为了避免与python关键字的命名冲突 双下划线开头:模 ...

  9. python语言是编译型语言-Python程序的执行过程原理(解释型语言和编译型语言)...

    Python是一门解释型语言? 我初学Python时,听到的关于Python的第一句话就是Python是一门解释型语言,我就这样一直相信下去,直到发现.pyc文件的存在,如果真是解释型语言,那么生成的 ...

最新文章

  1. XCMS V1.0 Beta1 发布
  2. 剖析Caffe源码之Layer_factory
  3. chrome浏览器安装vue调试插件dev-tools
  4. devc跟vc2010通用吗_王者荣耀:通用铭文大全!让你赢在起跑线上!教你1比1换铭文...
  5. 电子电工产品成品及材料灼热丝测试用试验仪
  6. atmega168p与328p_atmega328P 写入 Boot Loader的那点事 之 互相伤害
  7. 尔雅 2017大学计算机基础答案,2018超星尔雅大学计算机基础答案.docx
  8. 电气自动化和计算机专业比较,高考专业自动化专业和电气工程及其自动化的区别 哪个好...
  9. JAVA 逆向工程技术研究日志
  10. Ubuntu 机箱前置音频接口不能用的解决方法
  11. 线上bug快速定位小技巧 - chrome实时调试线上js代码
  12. 津门杯GoOSS和302重定向漏洞
  13. 11月钓鱼网站简报:阿里巴巴占比居首 新网次之
  14. 效法羲和驭天马,志在长空牧群星
  15. 学习笔记(05):区块链应用案例-区块链金融应用-保险
  16. firefox按住ctrl留在原页面打开新的标签页
  17. Java面试热点问题,synchronized原理剖析与优化
  18. 【Spark分布式内存计算框架——Structured Streaming】3. Structured Streaming —— 入门案例:WordCount
  19. mybatis plus 执行 原始的sql 语句
  20. 在ubuntu18.04中分屏给PC显示器

热门文章

  1. Android 相关七种CPU架构适配
  2. css拖动音乐进度条,用css3绘制酷狗音乐闪烁的进度条
  3. JAVA编程练习题(50题及答案11-20)
  4. 泊松分布分析足球比赛
  5. css动画移动,列表向上滚动不留空白
  6. JAVA中String的split方法
  7. 我又被Google吸引了Google Group体验!
  8. android中的app加固
  9. 云计算迎来中场战役,MaaS或将成为弯道超车“新赛点”
  10. 精诚CRM系统如何预防客户流失,提升客户留存