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

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

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

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

两者的本质区别

1运行的时间不同:

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

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

2可移植性:

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

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

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

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

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

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

python解释器调用_python入门-python解释器执行相关推荐

  1. 视频教程-8小时Python零基础轻松入门-Python

    订阅后:请点击此处观看视频课程 视频教程-8小时Python零基础轻松入门-Python 学习有效期:永久观看  学习时长: 525分钟  学习计划:9天 难度:低 「口碑讲师带队学习,让你的问题不过 ...

  2. 什么叫python解析器_Python IDE和解释器的区别是什么?

    经常会有刚刚入门Python的初学者把Python IDE与Python解释器弄混,其实它们是有本质区别的,有些人还会误认为配置Python环境就是配置IDE工具.那么,Python IDE和解释器的 ...

  3. 如何查看python解释器位置_Python:查看解释器的位置

    以前学Python时,有时出现这样的情况:明明记得装了scipy包,怎么打import scipy报错说我没这个包? 问题出在,你的电脑上安装了不止一个Python... 而每安装一个包,仅仅在这个P ...

  4. python控制软件操作流程_python入门篇之介绍和流程控制(一)

    Python入门 一.第一句python代码 很多语言的第一句python代码都是以"你好,世界"开始的,那么我们的python也是如此. 在 /home/dev/ 目录下创建 h ...

  5. python代码测试_Python入门学习系列——Python代码测试

    Python代码测试 对于编写的代码,可以使用unittest模块中的相关方法进行测试. 测试函数 首先定义一个简单的函数,该函数用来合并名称并返回. name_function.py: def ge ...

  6. 关于python那些事_Python 入门你必须知道的那些事

    一.Python的安装及管理工作环境 说到Python我们就不得不提到Anaconda,事实上Anaconda 和 Jupyter notebook已成为数据分析的标准环境.Anaconda是包管理器 ...

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

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

  8. python elif 用法_Python入门高级教程--Python 条件语句

    Python 条件语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: Python程序语言指定任何非0和 ...

  9. python变量分类_Python 入门系列 —— 5. 三大变量类型介绍

    多值赋给多变量 Python 允许在一行中将多个值赋给多个变量.x, y, z = "Orange", "Banana", "Cherry" ...

最新文章

  1. ARKit 与 ARCore比对(三)
  2. python语法大全-python语法大全,python语法手册
  3. caffe学习(一):开发环境搭建,编译caffe(win10)
  4. Divan and a Store 贪心(800)
  5. emacs vim IDE
  6. C#父类与子类(多态性)
  7. 有人问我:AI这么火,要不要去追赶AI的热潮?
  8. torch tensor去掉1维_浑身是刺的“维c之王”,有人管它叫“菠萝”,有人管它叫“梨”...
  9. Object-C,四则运算计算器
  10. 《Java并发编程的艺术》第3章 Java内存模型
  11. matlab cy11,matlab解线性回归方程,y=a0+a1*A+a2*B+a3*C+a4*D+a5*E+a6*F; 数据足够,求a0,a
  12. 任意文件包含漏洞原理解析及演示
  13. miniblink每日最新下载地址
  14. 平面多边形凹凸判断(叉乘法)
  15. golang 时间格式转换汇总
  16. python导入随机库_怎么用python导入随机库?
  17. 《Linux命令行与shell脚本编程大全》读书笔记 之一
  18. 软考-嵌入式系统设计师:[知识产权与标准化:笔记(七)]
  19. 计算机考试成表格,2010年职称计算机考试:Word创建表格
  20. cad批量选择相同块_在CAD中如何快速选择相同或类似的图形、图块

热门文章

  1. Flask-Cache的使用
  2. 基于不同STM32库函数的代码性能对比
  3. Android编译工具Freeline的使用
  4. 项目启动正常,访问网页500怎么办?【思考问题要全面,小问题或许就是问题的关键,小本本记下来!!!】
  5. GitHub 配置 SSH 连接
  6. hive插入数据:FAILED: ParseException line 1:12 missing TABLE at 'student' near 'EOF'
  7. leetcode 785. Is Graph Bipartite? | 785. 判断二分图(DFS,地图着色)
  8. leetcode 417. Pacific Atlantic Water Flow | 417. 太平洋大西洋水流问题(DFS,经典“感染”思路)
  9. 【verilog 语法】always 和 always@(*) 的区别
  10. netty系列之:netty对SOCKS协议的支持