最近由于公司需要,接触了python这门神奇的语言,给我的感觉就是开发快速和代码简洁。

开始还是先罗列一下解释性语言和编译性语言的差别吧0.0!

  编译性语言:是在程序运行前,需要专门的一个编译过程,如生成exe,hex文件等特定的机器语言文件。(必须在特定系统上)。  所以以后就可以直接运行,不用在进行编译了。但该文件不能夸操作系统系统平台,因为该文件在不同操作系统中是不识别的。

解释性语言:不需要解释,是在程序执行的时候,运行一行翻译一行。所以每次执行都要进行解释。

 两者的本质区别

 1运行的时间不同:

  编译性语言是在程序运行前进行编译

解释性语言在程序运行时进行解释

 2可移植性:

编译性语言只能在特定机器上运行,不可移植

解释性语言可实现跨平台操作

我们知道一些编译性语言比如C、C++,他们需要先从源文件编译转换成计算机的语言,经过连接器形成可执行的二进制文件,执行时将这些二进制文件加载到内存中运行。

一般解释性语言运行方式则和编译型语言有很大的差别。解释性语言直接从源代码运行程序,而且是一句一句的执行,那么他们是怎么让机器认识的呢?这里就要用到每门解释器语言对应的解释器啦。比如python解释器直接将源代码转换成字节码,然后再由解释器来执行这些字节码,转换成机器语言,最后就可以在机器上运行了。这些机制导致python有以下特性。

由于每次执行时都要转化为字节码,然后在由虚拟机转化为机器语言,所以程序性能肯定会收到影响;由于程序员不要关心程序的编译和库的链接问题开发工作也更轻松;由于有python解释器和机器底层进行交互,从而让python代码和机器底层更加远了,所以python实现了跨平台。

python针对性能问题提供了一种编译方法,编译之后可以得到pyc文件,储存了字节码,然后有一个专门的python解释器负责解释和执行字节码,这就省去了解释器将源代码转化成字节码的过程,也节省了加载模块的时间从而提高了执行效率,另外编译成pyc文件一定程度上也提高了代码的安全性。

python入门-python解释器执行的更多相关文章

  1. python入门-python处理csv文件格式相关

    python入门-python处理csv文件格式相关 处理 下载的csv格式文件 直接上代码和效果图 import csv from datetime import datetime from mat ...

  2. python入门 python字符串换行显示、字符串太长\连接多行

    #coding:utf-8#/usr/bin/python"""2018-11-03dinghanhua缩进换行""" "&quo ...

  3. 01----python入门----python安装与初识

    ----python入门----python安装与初识 python是一门编程语言,作为学习python的开始,需要事先搞明白:编程的目的是什么?什么是编程语言?什么是编程? 这是一个很好的开头!但是 ...

  4. python入门练习题1

    常见python入门练习题 1.执行python脚本的两种方法 第一种:给python脚本一个可执行的权限,进入到当前存放python程序的目录,给一个x可执行权限,如:有一个homework.py文 ...

  5. python入门(5)使用文件编辑器编写代码并保存执行

    python入门(5)使用文件编辑器编写代码并保存执行 两款文本编辑器: 一个是Sublime Text,免费使用,但是不付费会弹出提示框: 一个是Notepad++,免费使用,有中文界面: 请注意, ...

  6. python入门(3)python的解释器

    python入门(3)python的解释器 Python写的程序是以.py为扩展名的文本文件.要运行代码,就需要Python解释器去执行.py文件. 由于整个Python语言从规范到解释器都是开源的, ...

  7. python入门简介

    Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC ...

  8. Python学习【第二篇】Python入门

    Python入门 Hello World程序 在linux下创建一个叫hello.py,并输入 print("Hello World!") 然后执行命令:python hello. ...

  9. 老鸟的Python入门教程

    转自老鸟的Python入门教程 重要说明 这不是给编程新手准备的教程,如果您入行编程不久,或者还没有使用过1到2门编程语言,请移步!这是有一定编程经验的人准备的.最好是熟知Java或C,懂得命令行,S ...

随机推荐

  1. Java中,异常的处理及抛出

    首先我们需要知道什么是异常? 常通常指,你的代码可能在编译时没有错误,可是运行时会出现异常.比如常见的空指针异常.也可能是程序可能出现无法预料的异常,比如你要从一个文件读信息,可这个文件不存在,程序无 ...

  2. No plugin found for prefix ‘jetty’ in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories

    maven配置文件(最大的那个)的<pluginGroups></pluginGroups>增加一行如下<pluginGroups><pluginGroup& ...

  3. ajax基础学习

    AJAX即"Asynchronous JavaScript and XML",意思是异步JavaScript和XML,是指一种创建交互式网页的网页开发技术. 虽然现在很少有人去自己 ...

  4. Win下必备利器之Cmder

    诚言,对于开发码字者,Mac和Linux果断要比Windows更贴心;但只要折腾下,Windows下也是有不少利器的.之前就有在Windows下效率必备软件一文中对此做了下记载:其虽没oh-my-zs ...

  5. iOS-----程序异常处理----- 断言NSAssert()和NSParameterAssert区别和用处

    NSAssert和assert是断言,主要的差别是assert在断言失败的时候只是简单的终止程序,而NSAssert会报告出错误信息并且打印出来.所以尽管的使用NSAssert,可以不去使用asser ...

  6. python中的Ellipsis

    ...在python中居然是个常量 print(...) # Ellipsis 看别人怎么装逼 https://www.keakon.net/2014/12/05/Python%E8%A3%85%E9 ...

  7. 更改默认alert框体

    更改框体主要用到的是更改系统的内置控件winpop下面是winpop具体代码 (function(window, jQuery, undefined) { 2 3 var HTMLS = { 4 ov ...

  8. 使用 Ghost 写博客

    今天在https://ghost.org/上试用了一会,发现这是一个出色的博客平台,相比WordPress,更轻量级,而且是使用Node.js来做的,性能也是非常的不错. 优点 轻量级 支持主题 支持 ...

  9. CSS3 Notes: -webkit-box-reflect实现倒影

    平常我们要实现倒影的效果,一般的做法是使用多个DOM元素绝对定位+scale(负-1)或者rotate.这种方法的缺点是占据空间以及DOM元素过多. 在使用webkit内核的浏览器中(chrome,s ...

  10. T-SQL:毕业生出门需知系列(九)

    <SQL 必知必会>读书笔记 -- 第9课 汇总数据 9.1 聚集函数:对某些行运行的函数,计算并返回一个值 案例: -- 确定表中函数 -- 获得表中某些行的和 -- 找出表列的最大值. ...