首页 > 其他分享 >【一】计算机基础

【一】计算机基础

时间:2024-08-04 14:50:27浏览次数:6  
标签:硬件 解释器 计算机 Python 基础 --- 语言

【一】计算机基础

【1】Typora快捷键

# 【一】标题级别
# 1 ~ 6 级标题
# 【1】代码写 
# 1
## 2
# 【2】快捷键
# ctrl + 字母键盘上面的数字键

# 【二】代码块
# 语法创建
``` # esc 下面的 波浪号 切换成英文 `

```编程语言
# 不同的编程语言中的代码的高亮不一样

```

# 工具栏创建
# 段落 ~ 代码块 (需要自己补充编程语言)

# 【三】无序列表

# 快捷键 ctrl + shift + 左大括号键

# 工具栏创建
# 段落 ~ 无序列表


# 【四】有序列表

# 快捷键 ctrl + shift + 右大括号键

# 工具栏创建
# 段落 ~ 有序列表

# 【五】文本加粗
# 快捷键 ctrl + B

image-20240715164958291

【二】编程和编程语言

【1】什么是编程语言

  • 语言:就是人与人和人与动物之沟通交流的媒介
  • 编程语言:就是任何计算机之间沟通交流的媒介

【2】什么是编程

  • 中国人和美国人交流,借助翻译器进行翻译 将中文转换成英文 将英文转换成中文
  • 编程:你和计算机说话,计算既不会打理你,于是就有人将人的语言翻译成计算机能识别的语言
  • 于是这个翻译的过程就是编程

【3】为什么会出现编程语言?

  • 就是因为一开始人和计算机无法进行有效的沟通,为了实现有效的沟通于是就诞生了一门语言

【三】计算机的组成原理

【1】什么是计算机

  • 简单来说就是通电的只能设备 , 计算机也被叫做 电脑 可以批量的执行我们的命令

【2】为什么要发明计算机

  • 从古至今仍然会存在 奴隶制制度,存在 换了一个名词 奴隶 ---> 牛马
  • 最经典印度,种姓制
  • 人干活得吃饭 得喝水 得睡觉 ----> 睡觉就没办法干活
  • 于是我们就像招一个可以不修不直工作的人
  • 计算机可以无休无止的干活因此是人类奴隶的首选

【3】计算机的五大组成部分

(1)控制器

  • 相当于计算机的大脑,控制整个计算机的硬件协调工作

  • 相当于你的大脑,负责协调整个身体的运行

(2)运算器

  • 执行计算机中的各种算数和逻辑运算
  • 相当于人类的大脑 的某部分
  • 控制器 + 运算器 = CPU 相当于你的大脑

(3)存储器

  • 存储数据,存储电脑中临时或永久信不过的数据

  • 外存:相当于你的硬盘 (机械硬盘和固态硬盘) :负责永久性的存储数据

    • 固态硬盘:读取速度非常快 但是贵 500
    • 机械硬盘:读取速度慢但是 偏移 250
  • 内存:相当于你的内存条 爽 8 g 双 16 g

    • 临时性存储数据 ---> 只要你电脑一断电数据就会消失
    • 台式机断电消失

(4)输出设备

  • 显示器 / 音箱 / 耳机 ...
  • 将计算机计算出的内容展示给用户
  • 相当于你的感觉器官说话写文章

(5)输入设备

  • 向计算机中输入内容的设备
  • 键盘 / 鼠标 / 耳麦 / 扫码仪 ...
  • 相当于人的 眼睛 鼻子 嘴

【4】计算机五大组成部分小结

  • 控制器 + 运算器 ---> 控制整体硬件的运行 和 控制算数运算和逻辑运算 ---> 构成了 CPU

  • 存储器 : 存储电脑运行产生的数据

    • 外存 : 存储永久性数据
    • 内存 : 存储临时性数据 人的临时记忆存储在哪里?海马体
  • 输入设备 和输出设备 : 像计算机中输入内容 和 计算机展示结果

【5】计算机三大核心硬件

(1)CPU

  • 由控制器和运算器组成。
  • 用于计算数据,执行程序的指令
  • 负责控制计算机的操作。
  • 计算机的"大脑",决定程序执行的顺序和过程。

(2)硬盘

  • 读取速度相对较慢。
  • 用于永久保存数据,包括操作系统、应用程序和用户数据等
  • 断电后数据不会丢失,是一种非易失性存储器。
  • 作为长期存储的主要设备,容量通常较大。

(3)内存

  • 读取速度快,基于电工作。
  • 用于存储正在运行的程序和临时数据
  • 断电后数据立即丢失,是一种易失性存储器。
  • 作为CPU直接访问的存储介质,提供了高速的数据读写能力。

(4)补充:进制换算

TB,PB, Eb, Zb, YB
1B= 8bit
1KB=2(10)B=1024B; 括号中的数字为2的指数(即多少次方) 
1MB=2(10)KB=1024KB=2(20)B; 
1GB=2(10)MB=1024MB=2(30)B。 
1TB=2(10) GB=1024GB=2(40)B 
1PB=2(10) TB=1024TB=2(50)B 
1EB=2(10) PB=1024PB=2(60)B 
1ZB=2(10) EB=1024EB=2(70)B 
1YB=2(10) ZB=1024ZB=2(80)B 

1Byte相当於一个英文字母
Kilobyte(KB)=1024B相当於一则短篇故事的内容。 
Megabyte(MB)=l024KB相当於一则短篇小说的文字内容。 
Gigabyte(GB)=1024MB相当於贝多芬第五乐章交响曲的乐谱内容。 
Terabyte(TB)=1024GB相当於一家大型医院中所有的X光图片资讯量。 
Petabyte(PB)=l024TB相当於50%的全美学术研究图书馆藏书资讯内容。 
Exabyte (EB)=1024PB;5EB相当於至今全世界人类所讲过的话语。 
Zettabyte(ZB)=1024EB如同全世界海滩上的沙子数量总和。 
Yottabyte(YB)=1024ZB相当於7000位人类体内的微细胞总和。

【6】计算机的操作系统

(1)操作系统的由来

  • 操作系统的出现是为了简化硬件操作,提供统一的接口供应用程序使用。
  • 在开发应用程序时,不同开发者无需重复编写控制硬件的底层代码,而是调用操作系统提供的接口。
  • 这样,开发者能够专注于应用程序的业务逻辑,提高开发效率。

(2)示例

  • 暴风影音:视频打开观看的应用程序

    • window系统 : 召集人手 ---> 开发 暴风影音
    • MacOS系统 : 召集人手 ---> 开发 暴风影音
    • window系统 : 召集人手 ---> 开发 暴风影音
  • 找一家公共的公司 : 召集人手 ---> 开发 暴风影音 --->

    • 公司一:拿过来直接用即可

(3)常见的操作系统

  • 客户端 Pc 电脑段
    • Windows系统
    • MacOS系统
    • linux系统
  • 移动端 App
    • 安卓
    • IOS
    • 鸿蒙
    • ...

(4)软件

  • 系统软件:操作系统的软件 Windows系统 , 里面又安装了很多 应用 打开文件夹
  • 应用软件:根据用户的特定需求开发出来的软件 可以运行在操作系统之上

【7】计算机系统的三层架构

(1)硬件层

  • 负责所有的基础硬件设置

(2)操作系统层

  • 在硬件层之上有一个 操作系统来统筹所有的操作

(3)应用层

  • 在操作系统之上安装 应用

【8】平台

  • 平台就是 硬件+ 操作 系统就平台

    • Windows 平台
    • MacOS 平台
    • linux 平台
  • 有的应用可以在window上面用 有的只能在MacOS上面用

  • 跨平台 ---> 一个应用可以在多个平台上面使用

  • Python这门语言有极大的跨平台型 MacOS / window / linux

    • 一次编写 处处运行
  • 纯小白 学Python是最明智的选择

【四】编程语言介绍

【1】什么是编程语言

  • 人与计算机之间进行交流的媒介就是编程语言

【2】按照发展阶段

(1)机器语言

  • 机器语言就是计算机可以理解的,直接操作底层硬件的语言
  • 因为计算机是基于电工作的 ,电有高低电频,0 / 1
  • 就能控制计算机通过一段计算机的二进制指令执行不同的功能
# 一个人是 0 一个人是 1
# 01 a 
# 10 b

# 01010101 aaaa
# 10101010 bbbb

# 01100110 abab

# 01010101010101 开机
# 10101010101010 关机

# 2 2 2 2 16 
# 16 * 16 256 
  • 机器指令:就是二进制 0 或 1 组成的一串指令,可以直接操作底层硬件

  • 有了机器指令,如何编写机器指令。

    • 首先你要记住所有的二进制指令代表的含义
    • 编写机器指令的时候需要自己处理每一条指令 数据分配和内存输入输出
    • 这是一个十分繁琐的事
'''指令部份的示例'''
 0000 代表 加载(LOAD)
 0001 代表 存储(STORE)
 ...
 
LOAD 0000  # 加载寄存器A
STORE 0001 # 存储到寄存器B

'''暂存器部份的示例'''
0000 代表暂存器 A 
0001 代表暂存器 B 
...

'''存储器部份的示例'''
000000000000 代表地址为 0 的存储器
000000000001 代表地址为 1 的存储器 
000000010000 代表地址为 16 的存储器
100000000000 代表地址为 2^11 的存储器
# 机器语言的优点
# 执行效率高:机器语言直接操作底层硬件

# 机器语言的缺点
# 开发效率低:需要记住很多二进制指令
# 跨平台性差:不同的系统需要重新开发
# 学习成本高:学习次的成本很高

(2)汇编语言

# 计算机是 美国发明的 用来做战争 图灵测试

# 于是美国人就用 英文字母 + 特殊字符 表示某部分的机器指令代码 ---> 汇编语言

; hello.asm 
section .data            		; 数据段声明
    msg db "Hello, world!", 0xA ; 要输出的字符串
    len equ $ - msg             ; 字串长度
section .text            		; 代码段声明
    global _start            	; 指定入口函数
_start:                			; 在屏幕上显示一个字符串
    mov edx, len            	; 参数三:字符串长度
    mov ecx, msg            	; 参数二:要显示的字符串
    mov ebx, 1            		; 参数一:文件描述符(stdout) 
    mov eax, 4            		; 系统调用号(sys_write) 
    int 0x80            		; 调用内核功能
                    			; 退出程序
    mov ebx, 0            		; 参数一:退出代码
    mov eax, 1            		; 系统调用号(sys_exit) 
    int 0x80            		; 调用内核功能
    
    
# 汇编语言的优点
# 直接操作底层硬件 : 执行效率高
# 操作灵活:可以用英文字母代替机器指令 
# 可执行文件小 :编译后的文件小

# 汇编语言的缺点
# 开发效率低 : 只停留在最初的阶段用一个字母或特殊字符代替一些指令,记住所有的字母和字符代替idea指令才行
# 开平台型差:在不同的平台开发 
# 负责读高:所有的英文字母 组合起来很麻烦

(3)高级语言

● 从人的角度出发,以人类可读的字符编写程序
  ○ 而人类的字符是在向操作系统发送指令,而非直接操作硬件,所以高级语言是与操作系统打交道的
  ○ 此处的高级指的是高层、开发者无需考虑硬件细节
● 与低级语言相比,高级语言更贴近人类语言,使开发者无需考虑硬件细节,提高了开发效率。
● 但正因为高级语言离硬件较远,更贴近人类语言,执行效率相对较低。
  ○ 人类可以理解,而计算机则需要通过翻译才能理解,所以执行效率会低于低级语言。
  
# 高级语言的分类
# 按照翻译方式的不同分为两种:
# 	# 编译型语言:c / c++ / c# / java
#		解释型语言 : python / go / php 

# 【三】什么是编译型语言
# ● 编译型语言将整篇源程序一次性翻译成目标代码,然后生成可执行文件。
# ● 修改源代码后,需要重新编译整个程序。虽然执行效率较高,但开发效率相对较低,跨平台性也较差。

# 例子:给你一篇英文文献,将整篇文章全部翻译完成以后,再进行浏览

# 优点:
# 执行效率高:在执行运行文件之前要对文件进行编译 ---> 将你的 高级语言 代码转换为 机器语言 或者 汇编语言 的文件 ---> 执行的是编译后的文件
# 缺点:
# 开发效率低:开发出一个程序之后如果修改程序的源代码就需要重新编译然后才能运行
# 跨平台性差:先编译(根据你的操作系统进行文件的编译)

# 【四】什么是解释型语言
# ● 解释型语言逐句翻译源程序成中间代码,由解释器逐句执行。
# ● 修改源代码后,不需要重新编译整个程序,直接执行即可。
# ● 执行效率较低,但开发效率高,且具有较强的跨平台性。

# 例子:给你一篇英文文献,在每一段的文献中进行翻译,翻译之后进行浏览

# 优点:
# 开发啊效率高:写的程序可以边编译边执行,如果其中一段代码那报错然后修改,不需要等待所有的内容加载完后再去执行
# 跨平台性强:不需要经过编译

# 【五】总结
# 根据不同的优缺点比较不同的语言
# 执行效率 : 机器语言 > 汇编语言 > 高级语言
# 开发效率 : 机器语言  < 汇编语言 < 高级语言
# 跨平台性 :解释型语言的跨平台性最高

# 我们首选Python的原因
# 极强的跨平台性
# 是解释应语言  可以边编译边执行

【五】Python

【1】Python 含义

  • 代表的是Python这门编程语言
  • 代表的事Python的语法风格
# python 这门语言的语法很有个性

【2】Python的创始人

  • Python的创始人为吉多·范罗苏姆(Guido van Rossum)。

img

【3】Python在全球的排行榜

  • Python这个名字,来自Guido所挚爱的电视剧《Monty Python’s Flying Circus》,他希望这个新的叫做Python的语言,能符合他的理想:

  • 创造一种C和shell之间,语法能够像shell一样简洁,易学易用、可拓展性强,同时兼顾C的强大功能。

  • 于是Guido在1989年的圣诞节期间,开始编写能够解释Python语言语法的解释器。

  • Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言。

  • 最新的TIOBE排行榜,https://www.tiobe.com/tiobe-index/,Python已飙升至世界第一。

image-20240715121700166

【4】Python的应用领域有哪些

  • 数据分析:Python 里面有很多别人写好的第三方模块

  • 人工智能:同样有很多的第三方包

  • 爬虫:从网页上自动采集数据

  • 云计算

  • web开发

  • 图像处理(人脸识别):借助Python的 opencv 模块

    【5】目前版本

  • 我们用 Python 310 版本

    • 现在的最新版本 3.12.x
    • 最新版本汪汪属于内侧版本 ---> 可能会有很多 bug
    • 我们用最新版本的低两个版本 3.10 版本

【6】Python解释器的种类

  • 我们使用的Python是 CPython ,底层是 C 语言编写的!
(1)CPython
● 官方的Python解释器本质就是基于C语言开发的一个软件,该软件的功能就是读取以.py结尾的文件内容,然后按照Guido定义好的语法和规则去翻译并执行相应的代码。
● 这种用C实现的解释器称为CPython,它是python领域性能最好,应用最广泛的一款解释器,我们在后面提到的解释器指的都是Cpython解释器。
● 但其实解释器作为一款应用软件,完全可以采用其他语言来开发,只要能解释python这门语言的语法即可。
● Python解释器的一些种类如下,简单了解即可



(2)Jython
● JPython解释器是用JAVA编写的python解释器,可以直接把Python代码编译成Java字节码并执行,它不但使基于java的项目之上嵌入python脚本成为可能,同时也可以将java程序引入到python程序之中。


(3)IPython
● IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。
● 这就好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。
● CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。


(4)PyPy
● PyPy是Python开发者为了更好地Hack Python而用Python语言实现的Python解释器。
● PyPy提供了JIT编译器和沙盒功能,对Python代码进行动态编译(注意不是解释),因此运行速度比CPython还要快。

(5)IronPython
● IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Pytho

标签:硬件,解释器,计算机,Python,基础,---,语言
From: https://www.cnblogs.com/TechMemoirs/p/18341739

相关文章

  • Python 基础教学:中文编码处理
    《Python基础教学:中文编码处理》在编程中,处理中文字符时经常会遇到编码问题。Python3默认使用UTF-8编码,但在处理文件、网络数据或与旧系统交互时,可能需要处理GBK、GB2312等其他编码。1.字符串的编码和解码在Python中,字符串(str)默认是Unicode编码。当你需要将......
  • Python 基础教学:深入了解 continue、break 和 pass 语句
    《Python基础教学:深入了解continue、break和pass语句》Python中的控制流语句不仅仅包括条件语句和循环,还包括continue、break和pass这三个特殊的关键字,它们在特定情况下可以控制程序的流程。1.continue语句continue用于跳过当前循环的剩余代码,在循环控制结......
  • Python 基础教程:List(列表)的使用
    《Python基础教程:List(列表)的使用》在Python中,列表是最基本的数据结构之一,它是一种有序的、可变的数据集合,可以包含任意类型的元素,包括数字、字符串、其他列表等。1.列表的创建列表使用方括号[]创建,列表中的元素用逗号,分隔。#创建一个包含整数的列表numbers......
  • Java基础语法之控制流
    在上一篇文章中,我们介绍了Java基础语法之运算符和表达式(Java基础语法之运算符和表达式),在Java编程中,控制流结构决定了程序的执行顺序。通过使用不同的控制流语句,可以实现条件判断、循环执行和跳转操作。文章目录1.控制流结构类型条件语句循环语句跳转语句2.知识结构图......
  • 2.面试算法-数组之基础过关题
    1.基础过关题1.1数组问题常用思想1.1.1双指针思想我们前面说过数组里的元素是紧紧靠在一起的,不能有空隙,后面的元素就要整体向前移动,同样如果在中间位置插入元素,那么其后的元素都要整体向后移动。很多算法问题需要多次反复移动,比如说连续删除多个元素,这就导致会频繁大......
  • 最新观念---建设工程未经验收实际使用的,免除承包人除主体和基础外的保修责任
    该观念均为2022、2023年最高院权威出版书籍、判例中的观念,与2020年新司法解释理解与适用统一因该要旨有别于前期司法实践,现将判例及评析予以记录,以便于学习1. (2016)最高法民申2097号  例案一:嫩江县宝宏置业发展有限公司、黑河正亿房地产开发有限公司与中冶建设高新工程技术有......
  • 5.局域网技术基础与应用
    5.1局域网基础属于物理层和数据链路层共享式:布在一条线上类似交换式:在一个交换机上虚拟:也是通过交换机表示层:负责压缩5.2综合布线系统设计(上)设备间子系统一般在一楼管理子系统一般在二楼水平子系统类似拉出来的网线118015.3综合布线系统设计(下)......
  • Shell编程 --基础语法(1)
    文章目录Shell编程基础语法变量定义变量使用变量命令的使用只读变量删除变量传递参数字符串获取字符串长度字符串截取数组定义方式关联数组获取数组的长度总结Shell编程Shell是一种程序设计语言。作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和......
  • 【C++基础篇】—— 面向对象编程前的准备(内存分区,引用、函数重载)
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、内存分区模型1.C++内存分区2.new操作符二、引用三、函数重载1.函数基本使用2.函数重载前言在本篇文章中,主要是对C++的基础语法进行回顾学习,回顾学习C++的基本语法规则、数据类型......
  • 3:python语法第二章:语法基础2(适合小白进行观看)
    目录:3.1条件控制语句3.1.1基本的if,else语句3.1.2if嵌套首先学习两个语句的话,最为重要的就是要搞清楚这个底层逻辑是啥,学会了底层的逻辑便很容易的写出代码。3.1条件控制语句3.1.1基本的if,else语句基本的if,else的代码,可以首先理解一些什么是if,在英文中if指的是如果,所以说......