操作系统及Python解释器工作原理讲解
操作系统介绍
操作系统位于计算机硬件与应用软件之间
是一个协调、管理、控制计算机硬件资源与软件资源的控制程序
操作系统功能:
控制硬件
把对硬件复杂的操作封装成优美简单的接口(文件),给用户或者应用程序去使用。
注意:一套完整的计算机系统包含
应用程序:qq、微信等
操作系统:windows、linux等
计算机硬件:昨天内容
强调:
我们以后开发的都是应用程序
应用程序无法直接操作硬件,但凡要操作硬件,都是调用操作系统的接口
编程语言分类:
机器语言:
直接用二进制编写程序
优点:程序执行效率高
缺点:开发效率低
汇编语言:
用英文标签去代替二进制指令,本质还是再直接操作硬件
优点:相对于机器语言的开发效率要高
缺点:执行相对于机器语言要低
高级语言:
高级语言就是直接用人能理解的语言跟风格来编写程序,程序员无需再去考虑复杂的硬件操作
问题是我们用高级语言编写的程序归根结底还是要给计算机去执行,这就涉及到一个翻译的过程,要把人用高级语言编写的程序翻译成计算机所能理解的二进制指令去执行,按照翻译方式的不同,可以分为2类,如下:
|
类型
|
例如
|
优点
|
缺点 |
|
编译型 |
C语言 |
执行效率比解释型高 |
开发效率不如解释型 |
|
解释型 |
Python |
开发效率高 |
执行效率比编译型慢 |
执行效率再快也要受限于网速,于是我们现阶段需要优先考虑就是开发效率
1、执行Python程序有2种方式:
1)交互式
优点:调试程序
缺点:无法永久保存代码
2)命令行的方式
python3 D:\p1.py
优点:可以永久保存代码
2、python解释器执行程序的三个阶段
|
Python解释器执行程序的三个阶段,例如执行(python3 D:\test.py) |
第一步:先启动python3解释器 |
|
第二步:Python3解释器就像一个文本编辑器一样将文件python3 D:\test.py从硬盘读入内存 |
|
|
Python3解释器解释执行文件代码 |
强调:只有第三阶段才识别python的语法
Pyhton多版本安装及使用
官网安装地址:https://www.python.org/downloads/windows/,可以看到python2.0和3.0的版本链接

操作系统及Python解释器工作原理讲解的更多相关文章
- 计算机三大硬件和操作系统以及python解释器
今日分享内容概要 计算机五大组成部分详解 计算机三大核心硬件 操作系统 编程与编程语言 编程语言的发展历史 编程语言的分类 python解释器 python解释器多版本共存 分享详细 计算机五大组成部 ...
- MapReduce工作原理讲解
第一部分:MapReduce工作原理 MapReduce 角色•Client :作业提交发起者.•JobTracker: 初始化作业,分配作业,与TaskTracker通信,协调整个作业.•TaskT ...
- [转载] MapReduce工作原理讲解
转载自http://www.aboutyun.com/thread-6723-1-1.html 有时候我们在用,但是却不知道为什么.就像苹果砸到我们头上,这或许已经是很自然的事情了,但是牛顿却发现了地 ...
- 【Todo】Python的工作原理
参考这篇: http://python.jobbole.com/86086/?from=timeline&isappinstalled=1&nsukey=MWQG%2B7OI4FvdQ ...
- OAuth 授权过程工作原理讲解
转自:http://www.imooc.com/article/10931 在一个单位中,可能是存在多个不同的应用,比如学校会有财务的系统会有学生工作的系统,还有图书馆的系统等等,如果每个系统都用独立 ...
- Android 异步通信:图文详解Handler机制工作原理
前言 在Android开发的多线程应用场景中,Handler机制十分常用 今天,我将图文详解 Handler机制 的工作原理,希望你们会喜欢 目录 1. 定义 一套 Android 消息传递机制 2. ...
- python程序执行原理
Python程序的执行原理 1. 过程概述 Python先把代码(.py文件)编译成字节码,交给字节码虚拟机,然后解释器一条一条执行字节码指令,从而完成程序的执行. 1.1python先把代码(.py ...
- python中的函数、生成器的工作原理
1.python中函数的工作原理 def foo(): bar() def bar(): pass python的解释器,也就是python.exe(c编写)会用PyEval_EvalFramEx(c ...
- 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL
周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...
随机推荐
- 【LightOJ 1081】Square Queries(二维RMQ降维)
Little Tommy is playing a game. The game is played on a 2D N x N grid. There is an integer in each c ...
- Python Homework 001
1 #!/usr/bin/env python 2 #-*- coding:utf-8 -*- 3 4 import getpass 5 name = "xilong" 6 pas ...
- Appointment Helper
using System; using Microsoft.Xrm.Sdk; using Microsoft.Crm.Sdk.Messages; using Microsoft.Xrm.Sdk.Que ...
- python学习之文件读写入门(文件读的几种方式比较)
1.文件读写简单实例:(以w写的方式打开一个文件,以r读一个文件) # Author : xiajinqi # 文件读写的几种方式 # 文件读写 f = open("D://test.txt ...
- FPGA算法学习(1) -- Cordic(Verilog实现)
上两篇博文Cordic算法--圆周系统之旋转模式.Cordic算法--圆周系统之向量模式做了理论分析和实现,但是所用到的变量依然是浮点型,而cordic真正的用处是基于FPGA等只能处理定点的平台.只 ...
- LeetCode初级算法的Python实现--动态规划
动态规划的本质是递归:所以做题之前一定要会递归:递归式就是状态转移方程:这里将会介绍使用动态规划做题的思维方式. 统一的做题步骤: 1.用递归的方式写出代码:(此方法写的代码在leetcode中一定会 ...
- leetcode add_binary 采坑记
尽管add_binary在leetcode中是一个简单难度,但是踩了不少坑,记录一下 描述: 给两个字符串形式的二进制数,要求求和并输出字符串形式的结果,其中a和b均不为空字符串 样例: a=“101 ...
- 20145209 2016-2017-2 《Java程序设计》第2周学习总结
20145209 2016-2017-2 <Java程序设计>第2周学习总结 教材学习内容总结 git log 命令来查看 :提交历史 查看当前所处位置: pwd git 版本控制 tou ...
- VS2005源代码视图出现了小蓝点,怎么弄掉?
VS2005源代码视图出现了小蓝点,怎么弄掉? 编辑->高级->查看空白行 就OK啦~ 这个查看空格的.. 或者Ctrl+E,S
- PPAS下安装 pg_stat_statements过程记录
磨砺技术珠矶,践行数据之道,追求卓越价值 回到上一级页面: PostgreSQL统计信息索引页 回到顶级页面:PostgreSQL索引页 PostgreSQL中,如何安装pg_stat_sta ...