精华内容
下载资源
问答
  • Python真的是解释语言吗

    千次阅读 多人点赞 2019-10-13 18:59:40
    刚接触python的时候就知道,python有一个...而直接运行的后果就是,你边运行边“编译”,这里的编译叫做解释,有一种专门的东西叫做python解释器,解释一句,就把指令告诉电脑一句,所以相比较于C语言这种编译型语...

    刚接触python的时候就知道,python有一个缺点,那就是运行速度比较慢,因为python是一门解释型语言。

    那么,什么是解释型语言呢?
    在这里插入图片描述
    其实简而言之就是:python不像C语言那样,在运行之前需要编译那么麻烦,它可以直接运行。

    而直接运行的后果就是,你边运行边“编译”,这里的编译叫做解释,有一种专门的东西叫做python解释器,解释一句,就把指令告诉电脑一句,所以相比较于C语言这种编译型语言,就比较慢了。

    但是,python真的是解释型的语言吗?

    今天我做东西,发现自己的项目目录里面多出来一个文件夹,__pycache__文件夹,里面有一个.pyc文件,本着好学的心,就去查了一下,到底是个什么东西。后来发现,它是python文件运行之后,编译后的结果。c是compiled(编译)的缩写。

    所以这个.pyc文件是怎么形成的呢?
    这里我们就要简单地说说python程序的运行过程了。

    在说运行过程之前,我们先来说两个概念,PyCodeObject和pyc文件。

    我们在文件管理系统中看到的pyc自然不必多说,而其实PyCodeObject则是Python程序运行之后真正编译成的结果。我们先简单知道就可以了,继续向下看。

    当python程序运行时,其实会先编译,编译的结果则是保存在位于内存中的PyCodeObject中,当Python程序运行结束时,Python解释器则将PyCodeObject写回到pyc文件中。

    当python程序第二次运行时,首先程序会在硬盘中寻找pyc文件,如果找到,先对.pyc文件和.py文件的最近一次的修改时间进行判断,如果.pyc文件的修改时间晚于.py文件,说明.py文件中的源代码未修改过,则直接载入,否则就重复上面编译的过程。

    所以我们应该这样来定位PyCodeObject和pyc文件,我们说pyc文件其实是PyCodeObject的一种持久化保存方式。

    所以呢,我们应该这样来描述Python,Python是一门先编译后解释的语言。

    人生苦短,我用Python!

    展开全文
  • 但是呢,在进行在进行编译前,Python解释器首先会寻找有无存在.pyc文件,若存在则跳过编译过程直接进行解释执行,否则编译—执行。 .pyc文件的过期时间:若.pyc文件的时间戳和程序最后保存时间戳不一致,则删除老....

    Python:一种先编译后解释的语言,先编译为字节码形式的 .pyc后缀文件,然后再进行逐句解释执行。
    但是呢,在进行在进行编译前,Python解释器首先会寻找有无存在.pyc文件,若存在则跳过编译过程直接进行解释执行,否则编译—执行。
    .pyc文件的过期时间:若.pyc文件的时间戳和程序最后保存时间戳不一致,则删除老.pyc文件,重新编译----解释执行,否则直接解释执行。

    展开全文
  • python属于解释语言吗

    2020-12-17 12:04:00
    python并非完全是解释性语言,它是有编译的,先把源码py文件编译成pyc或者pyo,然后由python的虚拟机执行,相对于py文件来说,编译成pyc和pyo本质上和py没有太大区别,只是对于这个模块的加载速度提高了,并没有...
  • 我们都知道,编程语言从程序执行过程分,分为编译型语言和解释性语言 什么是编译型语言和解释型语言? Python是一种解释型语言 Python程序源码不需要编译,可以直接从源代码运行程序。Python解释器将源代码转换为...

    Python语言是编译型语言还是解释型语言?

    我们都知道,编程语言从程序执行过程分,分为编译型语言和解释性语言

    什么是编译型语言和解释型语言?

    Python是一种解释型语言

    Python程序源码不需要编译,可以直接从源代码运行程序。Python解释器将源代码转换为字节码,然后把编译好的字节码转发到Python虚拟机(PVM)中进行执行。

    下面用一张图来解释这个过程:

    在这里插入图片描述

    当我们运行Python文件的时候,Python解释器会执行两个步骤:

    1. 把源代码编译为字节码(以.pyc文件保存)

    2. 把编译好的字节码转发到PVM中加以执行

    这样,Python程序的执行过程就清楚了

    所以,Python是一种典型的解释型语言

    另一种解释型热门语言:Java

    展开全文
  • 注:Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。 ...
  • python是一门动态解释性的强类型定义语言 编译型vs解释型 编译型 优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高。可以脱离语言环境独立...

    python是一门动态解释性的强类型定义语言

    编译型vs解释型

    编译型
    优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高。可以脱离语言环境独立运行。
    缺点:编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运行环境生成机器码,不同的操作系统之间移植就会有问题,需要根据运行的操作系统环境编译不同的可执行文件。

    解释型
    优点:有良好的平台兼容性,在任何环境中都可以运行,前提是安装了解释器(虚拟机)。灵活,修改代码的时候直接修改就可以,可以快速部署,不用停机维护。

    缺点:每次运行的时候都要解释一遍,性能上不如编译型语言。

    编译与解释

    编译是将源程序翻译成可执行的目标代码,翻译与执行是分开的;而解释是对源程序的翻译与执行一次性完成,不生成可存储的目标代码。这只是表象,二者背后的最大区别是:对解释执行而言,程序运行时的控制权在解释器而不在用户程序;对编译执行而言,运行时的控制权在用户程序。

    解释具有良好的动态特性和可移植性,比如在解释执行时可以动态改变变量的类型、对程序进行修改以及在程序中插入良好的调试诊断信息等,而将解释器移植到不同的系统上,则程序不用改动就可以在移植了解释器的系统上运行。同时解释器也有很大的缺点,比如执行效率低,占用空间大,因为不仅要给用户程序分配空间,解释器本身也占用了宝贵的系统资源。

    编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快;
    而解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的.

    动态语言和静态语言
    通常我们所说的动态语言、静态语言是指动态类型语言和静态类型语言。

    (1)动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。Python和Ruby就是一种典型的动态类型语言,其他的各种脚本语言如VBScript也多少属于动态类型语言。

    (2)静态类型语言:静态类型语言与动态类型语言刚好相反,它的数据类型是在编译其间检查的,也就是说在写程序时要声明所有变量的数据类型,C/C++是静态类型语言的典型代表,其他的静态类型语言还有C#、JAVA等。

    (1)强类型定义语言:强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。举个例子:如果你定义了一个整型变量a,那么程序根本不可能将a当作字符串类型处理。强类型定义语言是类型安全的语言。

    (2)弱类型定义语言:数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。

    强类型定义语言在速度上可能略逊色于弱类型定义语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误。另外,“这门语言是不是动态语言”与“这门语言是否类型安全”之间是完全没有联系的!
    例如:Python是动态语言,是强类型定义语言(类型安全的语言); VBScript是动态语言,是弱类型定义语言(类型不安全的语言); JAVA是静态语言,是强类型定义语言(类型安全的语言)。

    (觉得原文的质量很高,将其中的部分转发至此,方便我自己查阅复习。)

    转至: https://www.cnblogs.com/alex3714/articles/5465198.html  

     

     

    展开全文
  • python解释语言的说明

    千次阅读 2018-04-22 00:51:26
    首先,大部分语言为编译型或解释型,如C/C++等为编译型,python为解释型语言,下面主要对比这两种方式来阐述python解释型言语执行过程。先抛出其中一个结论:C和Python去游泳,C已经换好泳衣准备下水了,而Python才...
  • c语言主函数名是什么?_后端开发C语言主函数名是main,main函数又称主函数,是程序执行的起点,如果有其他函数... 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。汇编语言(assembly language)...
  • Python 初学者

    万次阅读 多人点赞 2019-11-10 00:03:26
    我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年...
  • 1、C++和C都是属于编译型语言,本来的.c文件都是用高级语言编写的,计算机是不能识别高级语言的,所以,必须要通过编译,链接等手段,将.c文件转换成可执行文件,可执行文件就是纯二进制文件,然后计算机才能够执行...
  • 解释性语言定义: 程序不需要编译,在运行程序的时候才翻译,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就需要逐行翻译一次,效率比较低。 现代解释性语言通常把源程序编译成中间代码,然后用解释器把...
  • Python程序的执行过程(解释语言和编译型语言

    万次阅读 多人点赞 2018-03-30 11:41:10
    Python是一门解释语言? 我初学Python时,听到的关于Python的第一句话就是Python是一门解释语言,我就这样一直相信下去,直到发现.pyc文件的存在,如果真是解释语言,那么生成的.pyc文件的是什么呢?c应该是...
  • Python是一门解释性语言,我就这样一直相信下去,直到发现了*.pyc文件的存在。如果是解释型语言,那么生成的*.pyc文件是什么呢?c应该是compiled的缩写才对啊!为了防止其他学习Python的人也被这句话误解,那么我们...
  • 怎样理解python解释语言

    千次阅读 2017-09-19 12:52:49
    目前,常用的解释性语言有 Perl,Python, Lisp/Scheme,Ruby等,究竟什么是解释性语言呢? 所谓的解释性语言主要包括两个方面: 一是他们都有自己的解释器,也可以通俗的理解为翻译器; 二是他们都是在其他的编译...
  • 最近各大互联网公司线上笔试,编程题目里的编译器...学习的过程中,看到这样一个争论“Java、Python谁是编译型语言,谁是解释性语言?”。我在网上查了很多资料,也结合了自己的理解,下面与大家分享一下。 总的来说...
  • python解释性语言

    千次阅读 2012-08-14 15:02:38
    目前,常用的解释性语言有 Perl,Python, Lisp/Scheme,Ruby等,究竟什么是解释性语言呢? 所谓的解释性语言主要包括两个方面:以使他们都有自己的解释器,也可以通俗的理解为翻译器;二是他们都是在其他的编译...
  • Python语言编译器与解释

    千次阅读 2018-10-20 17:02:35
    解释性语言 边解释,边执行 运行速度慢 部分改动无需整体重新编译 不可脱离解释器环境运行 编译型与解释性语言列表 二、Python解释器种类 CPython 官方版本的解释器。这个解释器是用C语...
  • python 解释型(函数写在调用前)java 编译型(请求次数多)+解释型(请求次数少)解释性语言定义:程序不需要编译,在运行程序的时候才翻译,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就需要逐行...
  • python程序需要编译吗

    2020-12-17 10:54:10
    Python是编译型语言还是解释语言?回答这个问题前,应该先弄清楚什么是编译型语言,什么是解释语言。 所谓编译执行就是源代码经过编译器编译处理,生成目标机器码,就是机器能直接运行的二进制代码,下次运行时...
  • 我们都知道,使用C/C++之类的编译性语言编写的程序,是需要从源文件转换成计算机使用的机器语言,经过链接器链接之后形成了二进制的可执行文件。运行该程序的时候,就可以把二进制程序从硬盘载入到内存中并运行。 ...
  • Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言Python的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。Python 是...
  • python属于哪种语言

    2021-01-21 15:25:35
    python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言,可以应用于科学计算和统计、Web开发、人工智能、桌面界面开发、网络爬虫等领域。 Python是一种跨平台的计算机程序设计语言python是一个...
  • 这里的实现指的是符合Python语言规范的Python解释程序以及标准库等。这些实现虽然实现的是同一种语言,但是彼此之间,特别是与CPython之间还是有些差别的。 下面分别列出几个主要的实现。 1.CPython:这是Python的...
  • Python 解释语言

    千次阅读 2014-03-07 10:54:38
    解释语言,内存管理由解释器负责。 由于不是以本地机器码运行,执行相对慢。然而类似Java,Python实际是字节编译,可以生成近似机器语言的中间形式。  何为字节编译?解释器与编译器的区别?Java的字节码和Python...
  • python编译型语言解释语言

    千次阅读 2018-09-04 17:27:22
    1、大部分语言为编译型或解释型,如C/C++等为编译型,python解释语言; 2、编译型语言解释语言执行速度快; 3、编译型语言:由程序员在开发环境内,开发程序,开发完成后,放在编译器内编译,用户可直接...
  • 一、python是什么编程语言编程语言主要从以下几个角度为进行分类,编译型和解释型、静态语言和动态语言、强类型定义语言和弱类型定义语言,每个分类代表什么意思呢?1.1、编译型与解释型编译器:是把源程序的每一条...
  • Python简介
  • 严格来说:C,C++是编译型语言(经过编译器生成机器码),它们针对特定的CPU,不具备可移植Python、Java属于解析型语言(代码运行期间逐渐生成机器码)。但是python解析过程中也需要编译成pyc文件(生成python...
  • 注:Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。...
  • Python入门

    千次阅读 多人点赞 2017-06-21 17:06:08
    Python是一种高级编程语言,比Java还“高级”,所以它的效率甚至比Java还低; Python提供了非常完善的基础代码库,覆盖了网络、文件、GUI、数据库、文本等大量内容;除了内置库外,Python还提供很多他人开发的第三方...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 134,371
精华内容 53,748
关键字:

python是解释性语言吗

python 订阅