目录

  1. 操作系统
  2. 编程语言分类
  3. 安装python解释器

操作系统

操作系统有什么用

操作系统能接受外部指令转化成0和1,并把一些对硬件的复杂操作简化成一个个简单的接口,作为中间人连接硬件和软件

计算机三大组成部分

  • 应用程序:是具体干活,完成一个个任务的,和人、操作系统交互
  • 操作系统:接受外部指令,控制硬件,为用户和用户程序提供一个个简单的接口,和应用程序、人、硬件交互
  • 硬件:用来操作数据的(存储数据、输入数据、输出数据)

应用程序的启动流程

  1. 双击应用程序
  2. 发送指令给操作系统
  3. 操作系统把这条指令转化成0和1发给CPU
  4. CPU把指令发给内存
  5. 内存从硬盘中调取应用程序的数据
  6. 应用程序读入内存中启动

注意:步骤4、步骤5和步骤6不涉及操作系统的概念

操作系统的启动流程

操作系统实际上是一个计算机程序,如果要启动程序就必须得经过操作系统。而在按下开机键的时候,操作系统还在硬盘中。此时,需要有个东西来充当临时操作系统。

  1. 按下开机键
  2. ROM充当临时的操作系统控制CPU
  3. 在CMOS中寻找操作系统的路径
  4. 找到后启动操作系统,接管ROM的工作

编程语言分类

机器语言

由于计算机以二进制的形式存储数据,如果我们要与计算机沟通,那我们必须得会二进制编程。最早的时候,0和1就是编程语言,也就是所说的机器语言

  • 优点:执行代码效率高(直接与计算机硬件交互)
  • 缺点:开发效率低(一大堆的0和1)

汇编语言

通过写英文字符的形式代替一串二进制,但是它还是直接和硬件交互的

  • 优点(相对于机器语言):开发效率高
  • 缺点(相对于机器语言):执行代码效率低

高级语言

由于汇编语言和机器语言都依赖于硬件体系,且助记符量大难记,于是人们又发明了更加易用的所谓高级语言,如C、C++、Java、Python等等

  • 优点(相对于汇编语言):开发效率高
  • 缺点(相对于汇编语言):执行效率低(不再和硬件直接交互)

但归根结底还是要给计算机执行的,而计算机只认识二进制指令,这就涉及到将高级语言翻译成二进制的过程。根据翻译方式的不同,高级语言又分成编译型和解释型两大类。

编译型

其实可以理解成谷歌/百度翻译,将要翻译的代码丢进去,一次性翻译出一个结果,这个翻译结果可以保留在下一次使用。如C、Java

  • 优点(相对于解释型):执行效率高(直接翻译成机器语言)
  • 缺点(相对于解释型):开发效率低(要等到代码全部写完后才能调试)

解释型

可以理解成同声传译,以写一行代码翻译一行,翻译的内容不保存。如python

  • 优点(相对于编译型):开发效率高(写一行翻译一行,可以很早的发现bug)
  • 缺点(相对于编译型):执行效率低(写一次就得再翻译一次)

总结:毫无疑问,高级语言的编译型语言和解释型语言两者是相互矛盾的,这根据不同的需求考虑使用哪种类型的高级语言

安装python解释器

下载

以下载64位windows系统下的python为例,在官网https://www.python.org/downloads/windows/下载(根据电脑选择相应的安装包下载)

双击所下载后的.exe文件进行安装,选择Customize installation自定义安装,在下一步点Next

在Customize install location下选择安装路径(推荐安装在C盘或D盘根目录下),点击Install开始安装

安装完成后(Setup was successful),点击Close即可

安装完成后,在安装的python文件中有个python.exe可执行文件,打开该执行文件便可调出python交互式环境,书写python代码

设置环境变量

但每次在文件中找到python.exe再打开交互式界面是非常不方便的,而且在命令提示符窗口不能直接使用python命令

计算机在执行命令的时候是在环境变量找对应的命令的位置的,如果不正确设置环境变量就不能正确使用相应的命令,因此需要设置环境变量。

在系统属性==>高级==>环境变量==>变量path==>新建(添加python.exe所在的路径)==>确认

设置好环境变量后就可以在命令提示符窗口直接调用python命令了

最新文章

  1. 【JavaWeb】Spring+SpringMVC+MyBatis+SpringSecurity+EhCache+JCaptcha 完整Web基础框架(二)
  2. Lind.DDD.Messaging框架通讯组件介绍
  3. 第7章 权限管理(3)_文件系统属性和sudo权限
  4. Android技术点
  5. html+css—two
  6. parseInt第二个参数详解
  7. 用命令行导出和导入MySQL数据库
  8. 蓝牙Host Controller Interface笔记
  9. linux 查看是否安装perl模块
  10. js 重点 (转载)
  11. JDBC向oracle插入数据
  12. 前端--关于CSS
  13. ORACLE中%TYPE和%ROWTYPE的使用
  14. C++ 关联容器之map插入相同键元素与查找元素操作
  15. cookie跨域和js跨域问题
  16. EF Core 快速上手——EF Core的三种主要关系类型
  17. Spring事务管理——基础会用篇
  18. Gym - 101490F:Endless Turning (半平面交)
  19. terraform plugin 版本以及changlog 规范
  20. BZOJ.4695.最假女选手(线段树 Segment tree Beats!)

热门文章

  1. wsgi初探
  2. mysql模糊查询语句
  3. Tomcat PK Resin
  4. java中inputstream的使用
  5. 3.1 The Interpolating Polynomial(站点)
  6. 20170623_oracle备份和恢复_常见问题
  7. ALSA声卡驱动中的DAPM详解之四:在驱动程序中初始化并注册widget和route
  8. bzoj3894: 文理分科(还是那道最小割)
  9. 洛谷P2059 [JLOI2013]卡牌游戏
  10. ADTS结构