python入门-python解释器执行
最近由于公司需要,接触了python这门神奇的语言,给我的感觉就是开发快速和代码简洁。
开始还是先罗列一下解释性语言和编译性语言的差别吧0.0!
编译性语言:是在程序运行前,需要专门的一个编译过程,如生成exe,hex文件等特定的机器语言文件。(必须在特定系统上)。 所以以后就可以直接运行,不用在进行编译了。但该文件不能夸操作系统系统平台,因为该文件在不同操作系统中是不识别的。
解释性语言:不需要解释,是在程序执行的时候,运行一行翻译一行。所以每次执行都要进行解释。
两者的本质区别
1运行的时间不同:
编译性语言是在程序运行前进行编译
解释性语言在程序运行时进行解释
2可移植性:
编译性语言只能在特定机器上运行,不可移植
解释性语言可实现跨平台操作
我们知道一些编译性语言比如C、C++,他们需要先从源文件编译转换成计算机的语言,经过连接器形成可执行的二进制文件,执行时将这些二进制文件加载到内存中运行。
一般解释性语言运行方式则和编译型语言有很大的差别。解释性语言直接从源代码运行程序,而且是一句一句的执行,那么他们是怎么让机器认识的呢?这里就要用到每门解释器语言对应的解释器啦。比如python解释器直接将源代码转换成字节码,然后再由解释器来执行这些字节码,转换成机器语言,最后就可以在机器上运行了。这些机制导致python有以下特性。
由于每次执行时都要转化为字节码,然后在由虚拟机转化为机器语言,所以程序性能肯定会收到影响;由于程序员不要关心程序的编译和库的链接问题开发工作也更轻松;由于有python解释器和机器底层进行交互,从而让python代码和机器底层更加远了,所以python实现了跨平台。
python针对性能问题提供了一种编译方法,编译之后可以得到pyc文件,储存了字节码,然后有一个专门的python解释器负责解释和执行字节码,这就省去了解释器将源代码转化成字节码的过程,也节省了加载模块的时间从而提高了执行效率,另外编译成pyc文件一定程度上也提高了代码的安全性。
python入门-python解释器执行的更多相关文章
- python入门-python处理csv文件格式相关
python入门-python处理csv文件格式相关 处理 下载的csv格式文件 直接上代码和效果图 import csv from datetime import datetime from mat ...
- python入门 python字符串换行显示、字符串太长\连接多行
#coding:utf-8#/usr/bin/python"""2018-11-03dinghanhua缩进换行""" "&quo ...
- 01----python入门----python安装与初识
----python入门----python安装与初识 python是一门编程语言,作为学习python的开始,需要事先搞明白:编程的目的是什么?什么是编程语言?什么是编程? 这是一个很好的开头!但是 ...
- python入门练习题1
常见python入门练习题 1.执行python脚本的两种方法 第一种:给python脚本一个可执行的权限,进入到当前存放python程序的目录,给一个x可执行权限,如:有一个homework.py文 ...
- python入门(5)使用文件编辑器编写代码并保存执行
python入门(5)使用文件编辑器编写代码并保存执行 两款文本编辑器: 一个是Sublime Text,免费使用,但是不付费会弹出提示框: 一个是Notepad++,免费使用,有中文界面: 请注意, ...
- python入门(3)python的解释器
python入门(3)python的解释器 Python写的程序是以.py为扩展名的文本文件.要运行代码,就需要Python解释器去执行.py文件. 由于整个Python语言从规范到解释器都是开源的, ...
- python入门简介
Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC ...
- Python学习【第二篇】Python入门
Python入门 Hello World程序 在linux下创建一个叫hello.py,并输入 print("Hello World!") 然后执行命令:python hello. ...
- 老鸟的Python入门教程
转自老鸟的Python入门教程 重要说明 这不是给编程新手准备的教程,如果您入行编程不久,或者还没有使用过1到2门编程语言,请移步!这是有一定编程经验的人准备的.最好是熟知Java或C,懂得命令行,S ...
随机推荐
- JAVA环境变量和TomCat服务器配置
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选.对于一个初学者来说,可以这样 ...
- Android之数据存储的五种方法
1.Android数据存储的五种方法 (1)SharedPreferences数据存储 详情介绍:http://www.cnblogs.com/zhangmiao14/p/6201900.html 优 ...
- java.lang.NoSuchFieldError: org.apache.http.message.BasicLineFormatter.INSTANCE
Android发出HTTP请求时出现了这个错误: java.lang.NoSuchFieldError: org.apache.http.message.BasicLineFormatter.INST ...
- atitit.管理学三大定律:彼得原理、墨菲定律、帕金森定律
atitit.管理学三大定律:彼得原理.墨菲定律.帕金森定律 彼得原理(The Peter Principle) 1 彼得原理解决方案1 帕金森定律 2 如何理解墨菲定律2 彼得原理(The Pete ...
- 从myeclipse导入eclipse,不能识别为web项目(java项目转为web项目)
1.进入项目目录,找到.project文件,打开. 2.找到<natures>...</natures>代码段. 3.在第2步的代码段中加入如下标签内容并保存: ...
- jQuery.data() 使用方法
data() 方法向被选元素附加数据,或者从被选元素获取数据.在实际开发中,可以用来记录上一步操作某一对象的值,来给下一步操作做一些判断 $("#btn1").click(func ...
- .NET跨平台之旅:在生产环境中上线第一个运行于Linux上的ASP.NET Core站点
2016年7月10日,我们在生产环境中上线了第一个运行于Linux上的ASP.NET Core站点,这是一个简单的提供后端服务的ASP.NET Core Web API站点. 项目是在Windows上 ...
- 新手如何在gdb中存活
网络上已经有很多gdb调试的文章了,为什么我还要写这篇文章呢,因为本文是写给gdb新手的,目的就是通过一个简单的例子来让新手很快上手.一旦上手入门了,其他的问题就可以自己去搜索搞定了.右边是gdb的L ...
- CS Coder学习asp.net5个月的最大感悟:从http的角度重新认识asp.net(二)——我理解的ajax(二)
啊哈,时隔两个月,才开始写上一篇文章的后续,实在是惭愧.主要是年尾公司又来活了,忙得团团转,而且这段时间在自学mvc.我在上文中,提到过我对mvc框架的初步印象是:相比webform,算是回归了bs本 ...
- ABP框架 - 实体
文档目录 本节内容: 实体类 聚合根类 领域事件 约定的接口 审计 软删除 活跃/消极 实体 实体变化事件 IEntity 接口 实体是DDD一个核心的概念.Eric Evans是这么描述的:“一个对 ...