01初步了解

一、初步了解

语言:c语言(更适于硬件)、Java、python、PHP(没落了)、前端
环境变量:操作系统 快速打开你的软件 电脑才能看懂的快捷方式

1.1 文件路径

  • 绝对路径:详细地址 从盘符开始
    • . ./ 当前路径下 同一级的目录
  • 相对路径:有参照物
    • ../ 上一级的目录

1.2 安装开发工具

二、编程语言 python

2.1 什么是编程语言

总结:编程语言是用来控制计算机的一系列指令(Instruction),它有固定的格式和词汇(不同编程语言的格式和词汇不一样),必须遵守,否则就会出错,达不到我们的目的。

2.2 计算机五大组成部分:

控制器、运算器、输入设备、输出设备、存储器

2.2.1 控制器

控制器是计算机的指挥系统,用来控制计算机其他组件的运行,相当于人类的中枢神经

2.2.2 运算器

运算器是计算机的运算功能,用来做算术运算和逻辑运算,相当于人脑

控制器 + 运算器 = CPU中央处理器,cpu相当于人的大脑

2.2.3 存储器

存储器是计算机的记忆功能,用来存取数据
存储器主要分为内存外存

  • 内存(基于电工作):存取数据都快,断电数据丢失,只能临时存取数据
  • 外存(硬盘,基于磁工作):存取速度都慢,断电数据也不丢,可以永久保存数据

内存的存取速度要远远高于外存
内存 ==>人类的大脑的记忆功能
外存 ==>人的笔记本

数据真的要用,一定是先从硬盘放到内存中来,内存交给CPU
运行程序:硬盘外存 —> 内存 —> CPU

形象解析:给女友买奶茶 —> 先看笔记本 —> 再大脑中的记忆 —> 大脑 <判断>指挥

2.2.4 输入设备input

输入设备是计算机接收外界输入数据的工具,如键盘、鼠标,相当于人的眼睛或耳朵

2.2.5 输出设备output

输出设备是计算机向外输出数据的工具,如显示器、打印机,相当于人说的话,写出的文章。

存储器 如内存、磁盘等既是输入设备又是输出设备,统称为IO设备

一个非常重要的基础知识:与运行程序相关的三大核心硬件

我们编写的程序一定是要运行于计算机硬件之上,而站在硬件的角度,与运行程序有关的三大核心硬件为 CPU内存硬盘

程序最先是存放于硬盘中的,程序的运行是先从硬盘把代码加载到内存中,然后cpu是从内存中读取指令运行。

三、操作系统概述

3.1 操作系统的由来

操作系统是一个协调,管理,控制计算机硬件资源和应用软件资源的一个控制程序。

作用

  1. 控制计算机硬件的基本运行;
  2. 把使用硬件的复杂操作封装成简单的功能,提供接口、方法、技巧,给上层的应用程序使用。

【例】:文件就是操作系统提供给应用程序/用户操作硬盘的一种功能。

📌 tips文件扩展名也称为文件的后缀名,是操作系统用来标记文件类型的一种机制。让系统快速识别文件类型,然后交给相应的应用程序处理。扩展名几乎是每个文件必不可少的一部分。如果一个文件没有扩展名,那么操作系统就无法处理这个文件,无法判别到底如何处理该文件。
(Linux系统则没有文件后缀名这个概念,Linux不像Windows是依据后缀名调用相应程序的。但是实际操作中考虑到跨平台的问题,所以学习一些常用的后缀在Linux中进行规范命名是很有必要的。)

3.2 系统软件与应用软件

计算机硬件是死的,计算机硬件的运行都受软件控制,所以说,软件相当于计算机的灵魂,具体来说软件分为两种:

  • 应用软件:应用程序相关逻辑(我们学习python就是为了开发应用软件的)
  • 系统软件:控制底层硬件的

3.3 计算机系统三层结构

我们开发应用程序本质是在控制硬件,但是我们直接打交道的是操作系统,应用程序都是通过操作系统来间接地操作硬件的,所以一套完整的计算机系统分为三层,如下:
在这里插入图片描述

一个非常重要的基础概念:平台

应用程序都是运行于操作系统之上,而操作系统则是运行于硬件之上的,所以承载应用程序的是一台运行有操作系统的计算机,称之为应用程序的运行平台,即:硬件 + 操作系统 = 平台
在这里插入图片描述

常见的平台有:windows系统+某款硬件、linux系统+某款硬件、ubuntu+某款硬件等,

我们在开发应用程序时就需要考虑到应用程序的跨平台性,如果能开发出一款可以在任意平台运行的应用程序,那对于开发者来说真是极大的福音。而决定应用软件的跨平台性的 关键因素 往往是编程语言的选择,python恰好是一款跨平台性语言,这也是我们学习它的原因之一。

四、计算机基本原理

4.1 低级语言

  • 机器语言:0,1 二进制语言;
    特点:① 执行效率最高;② 开发效率低下;③ 跨平台性差。
  • 汇编语言:还存在,对性能要求很高;
    特点:① 开发效率高一点;② 执行效率低一点;③ 跨平台性差。

4.2 高级语言

真正学习难度开始降低,开发效率提高了

  • 编译型: c、c++、golang、java
    特点:① 执行效率高一点;② 开发效率低;③ 跨平台性相对差。

  • 解释型:python
    特点:① 开发效率高;② 执行效率低;③ 跨平台性最好。

    python的代码 --> python解释器 -----> 机器能理解的命令

    python的性能好不好 -----> python解释器 (cPython、jPython …) -----> 可由C、Java、python 或 汇编语言等编写的一个软件 -----> 可以用来将python的代码解释

4.3 总结(性能)

开发效率:对人来说的(时间 精力 代码量);执行效率 :对机器来说的

  • 执行效率:机器语言 > 汇编语言 > 高级语言(编译型 > 解释型)
  • 开发效率:机器语言 < 汇编语言 < 高级语言(编译型 < 解释型)
  • 跨平台性:解释型具有极强的跨平台型性

五、python介绍

5.1 何为python

  • 语法风格 :代表python这门语言的 风格
  • python解释器:代表专门用来解释该语言风格的应用程序

5.2 python解释器和python语言的关系

  • Python解释器是一款应用程序,专门用来解释python这门语言风格并执行的
  • python语言编写的程序最终都是被解释器执行的

所以我们可以这么说python语言更多的都是在调用python解释器的功能,所以解释器性能的高低很大程度决定了我们用python写出来的程序执行效率的高低

5.3 运行python程序

5.3.1 两种运行方式

方式一:交互式模式 不能保存程序
cmd ----> python 及时得到程序结果,多用于调试(辅助作用)
在这里插入图片描述
方式二:脚本文件(文件式) 永久保存程序

1)新建文件.py ----> 文件中写入程序:把程序写到文件里(约定俗称文件后缀名为.py),然后用Python解释器解释执行其中的内容。
2)cmd ----> python 文件路径:python python脚本的路径.文件内容才是关键要符合语法,文件后缀名不是关键,是txt也行啊,但为了规范还是py

总结

  1. 交互式模式下可以即时得到代码执行结果,调试程序十分方便
  2. 若想将代码永久保存下来,则必须将代码写入文件中
  3. 我们以后主要就是在代码写入文件中,偶尔需要打开交互式模式调试某段代码、验证结果
📌 小拓展:
问1:python的后缀名是什么?       答:py

问2:后缀名用来干嘛的?可以没有吗? 
答:后缀名 方便操作系统知道这是什么文件 ---> 应该用什么软件去执行它;后缀名可以没有,Windows 必须有,Linux可没有。

问3:python后缀名可以不叫py吗?
答:可以。因为文件内容不变,符合python语法,脚本文件打开已经确定用python执行及其文件路径,其后缀名不是关键。

5.3.2 python程序运行的三个步骤

假设:python C:\a\b.py 执行Python程序经历的三个步骤:
	1.先启动Python解释器
	2.解释器会发送系统调用,把b.py的内容从硬盘读入内存,此时c.py中的内容全部为普通字符,没有任何语法意义
	3.解释器开始解释执行刚刚读入内存的c.py的代码,开始识别python的语法
对比:文本编辑器读取 C:\a\b.txt文件内容也经历了三个步骤:
	1.先启动文本编辑器
	2.文本编辑器会发送系统调用,把b.py的内容从硬盘读入内存
	3.文本编辑器会将刚刚读入内存的内容控制输出到屏幕上,让用户看到结果

python 文件路径 ==> 执行这些代码

pycharm 打开一份文件 ==> 看到python的代码

一份python的文件       python   文件的路径
  1.启动 python解释器 这个软件
  2.从外存上读取python的文件,读到内存中来
  3.使用python解释器这个软件去执行python的文件   ==>  执行
  
一份python的文件       python   文件的路径
  1.启动 pycharm 这个软件
  2.从外存上读取python的文件,读到内存中来
  3.将内存中读到的python代码 展示在屏幕上

⭐⭐敲重点:程序的运行 顺序 :外存 ==> 内存 ==> cpu

总结:二者在前两个阶段做的事情完全一致。唯一不同的就是第三阶段对读入内存的python代码的处理方式不同
注意:pycharm不是python程序运行的方式,两者没有关系。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值