计算机基础与Python介绍
本文介绍了编程基础知识和计算机原理。首先解释了编程语言是人与计算机交流的媒介,编程是将人类意图翻译给计算机的过程。然后详细说明了计算机五大组成部分(控制器、运算器、存储器、输入输出设备)和三大核心硬件(CPU、内存、硬盘),以及操作系统的功能和常见类型。接着介绍了编程语言的三种发展阶段:机器语言(直接操作硬件)、汇编语言(用符号代替指令)和高级语言(更接近人类语言),并比较了编译型和解释型语言的优
【一】编程和编程语言
【1】什么是编程语言
- 语言:就是人与人和人与动物之沟通交流的媒介
- 编程语言:就是任何计算机之间沟通交流的媒介
【2】什么是编程
- 中国人和美国人交流,借助翻译器进行翻译 将中文转换成英文将英文转换成中文
- 编程:人与计算机无法直接使用人类的语言进行沟通,那么将人想要表达的含义翻译给计算机的过程就是编程
【二】计算机的组成原理
【1】计算机的五大组成部分
(1)控制器
-
相当于计算机的大脑,控制整个计算机的硬件协调工作
-
相当于你的大脑,负责协调整个身体的运行
(2)运算器
- 处理计算机中的各种数据运算和逻辑判断
- 相当于人类的大脑 的某部分
- 控制器 + 运算器 = CPU 相当于人类的大脑
(3)存储器
-
存储数据,存储电脑中临时性或永久性的数据
-
外存:相当于你的硬盘 (机械硬盘和固态硬盘) :负责永久性的存储数据
- 固态硬盘:读取速度非常快但是贵
- 机械硬盘:读取速度慢但是便宜、数据安全性高
-
内存:负责临时性数据存储
- 重启或关机后临时性数据会消失
(4)输出设备
- 显示器 / 音箱 / 耳机 …
- 将计算机计算出的内容展示给用户
(5)输入设备
- 键盘 / 鼠标 / 耳麦 …
- 向计算机中输入数据的设备
【2】计算机五大组成部分小结
-
控制器 + 运算器 —> 控制整体硬件的运行以及处理数据运算和逻辑运判断—>两者整体构成了 CPU
-
存储器 : 存储电脑运行产生的数据
- 外存 : 存储永久性数据
- 内存 : 存储临时性数据
-
输入设备和输出设备 : 向计算机中输入内容和计算机展示结果
【3】计算机三大核心硬件
(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位人类体内的微细胞总和。
【4】计算机的操作系统
(1)操作系统的由来
操作系统的出现是为了简化硬件操作,提供统一的接口供应用程序使用。
在开发应用程序时,不同开发者无需重复编写控制硬件的底层代码,而是调用操作系统提供的接口。
这样,开发者能够专注于应用程序的业务逻辑,提高开发效率。
(2)常见的操作系统
- 客户端 PC电脑端
- Windows系统
- MacOS系统
- linux系统
- 移动端 App
- 安卓
- IOS
- 鸿蒙
(3)软件
- 系统软件:操作系统的软件 Windows系统 , 里面有很多内置的应用
- 应用软件:根据用户的特定需求开发出来的软件 可以运行在操作系统之上
【5】计算机系统的三层架构
(1)硬件层
负责所有的基础硬件设置
(2)操作系统层
在硬件层之上有一个操作系统来统筹所有的操作
(3)应用层
在操作系统之上安装应用
【6】平台
平台就是 硬件+ 操作系统就平台
比如常见的平台有:
- Windows 平台
- MacOS 平台
- linux 平台
有的应用可以在window上面用 有的只能在MacOS上面用,那么跨平台就是指一个应用可以在多种平台上面使用
【三】编程语言介绍
【1】什么是编程语言
人与计算机之间进行交流的媒介就是编程语言
【2】按照发展阶段
(1)机器语言
机器语言就是计算机可以理解的,直接操作底层硬件的语言,因为计算机是基于电信号工作的 ,电信号有高低电频代表0和1,通过0和1进行控制计算机,通过不同的二进制指令执行不同的功能
# 一个人是 0 一个人是 1
# 01 a
# 10 b
# 01010101 aaaa
# 10101010 bbbb
# 01100110 abab
# 01010101010101 开机
# 10101010101010 关机
机器指令:就是二进制 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
【3】编译型语言
编译型语言将整篇源程序一次性翻译成目标代码,然后生成可执行文件。
修改源代码后,需要重新编译整个程序。虽然执行效率较高,但开发效率相对较低,跨平台性也较差。
例子:给你一篇英文文献,将整篇文章全部翻译完成以后,再进行浏览
优点:
执行效率高:在执行运行文件之前先对文件进行编译 —> 将高级语言转换为 机器语言或者汇编语言 —> 执行的是编译后的文件
【4】解释型语言
解释型语言逐句翻译源程序成中间代码,由解释器逐句执行。
修改源代码后,不需要重新编译整个程序,直接执行即可。
执行效率较低,但开发效率高,且具有较强的跨平台性。
例子:给你一篇英文文献,在每一段的文献中进行翻译,翻译之后进行浏览
优点:
开发效率高:写的程序可以边编译边执行,如果其中一段代码那报错然后修改,不需要等待所有的内容加载完后再去执行
跨平台性强:不需要经过编译
【5】总结
根据不同的优缺点比较不同的语言
执行效率 : 机器语言 > 汇编语言 > 高级语言
开发效率 : 机器语言 < 汇编语言 < 高级语言
【四】Python
【1】Python 含义
- 代表的是Python这门编程语言
- 代表的是Python的语法风格
【2】Python的创始人
- Python的创始人为吉多·范罗苏姆(Guido van Rossum)。

【3】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解释器,可以直接把Python代码编译成.Net的字节码。
【五】补充Python安装
【1】多版本Python共存解决方案
复制当前 Python安装目录下的 python.exe 程序 —> 改个名字 代版本号的名字
Python3.10 解释器 —> python310
【2】默认Python解释器版本
环境变量种存在多个Python版本的情况下 将需要设置为默认版本的解释器的位置移动到最前面
【3】PIP换源
永久性的将 pip 源从国外源切换到国内的源
方式一、使用命令行设置
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/
# 查看当前镜像源
pip config get global.index-url
方式二、使用配置文件
配置文件的位置根据操作系统不同而不同:
- Windows:
C:\Users\你的用户名\pip\pip.ini - macOS 和 Linux:
~/.pip/pip.conf
如果配置文件不存在,可以手动创建一个。
在配置文件中添加以下内容:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
常用的国内镜像源
清华大学(推荐): https://pypi.tuna.tsinghua.edu.cn/simple/
阿 里 云: https://mirrors.aliyun.com/pypi/simple/
豆 瓣: https://pypi.douban.com/simple/
中 科 大: https://pypi.mirrors.ustc.edu.cn/simple/
临时换源方法
pip install 模块名 -i https://pypi.tuna.tsinghua.edu.cn/simple/
【4】修改pip默认下载地址
修改python安装目录下Lib/site.py文件
-
将ENABLE_USER_SITE=None修改为ENABLE_USER_SITE=True
-
修改USER_BASE(基础目录)
-
修改USER_SITE(具体路径)
USER_SITE = r"F:\Environment\Python\Python312\Package\site-packages" USER_BASE = r"F:\Environment\Python\Python312\Package\Scripts" -
设置环境变量PYTHONPATH设置值为 F:\Environment\Python\Python312\Package\site-packages
如果使用Anaconda创建虚拟环境这样会导致Python的搜索路径中PYTHONPATH对应的路径优先级高于Anaconda中的路径,这会导致在Anaconda创建的虚拟环境运行程序时优先使用PYTHONPATH对应的路径下的库,从而因为版本问题报错,这样创建虚拟环境就失去意义,所以并不推荐这种方法
【5】虚拟环境
(1)系统环境和虚拟环境介绍
系统环境
- 系统环境是指安装在计算机全局范围内的Python环境。
- 当在计算机上安装Python时,它会成为系统环境的一部分。
- 在系统环境中安装的Python解释器和库对整个计算机可见,所有项目都可以访问它们。
虚拟环境
- 虚拟环境是一种在项目级别隔离Python依赖的方法。
- 通过创建虚拟环境,可以为每个项目设置独立的Python环境,从而解决全局安装可能导致的问题。
- 虚拟环境可以包含自己的Python解释器和依赖库,与其他虚拟环境和系统环境隔离开。
(2)创建虚拟环境的三种方式
venv
**介绍:**Python自带的虚拟环境工具,适用于Python 3.3及以上版本。
使用:
- 到需要创建项目所在的目录
- 在命令行窗口下执行python -m venv 虚拟环境名称 进行创建虚拟环境
- 进入虚拟环境 需要在创建虚拟环境的目录下找到Scripts文件夹 进入后在命令行窗口下执行active
- 退出虚拟化环境在命令行窗口下执行 deactivate
# 创建虚拟化环境
python -m venv 虚拟环境名称
# 进入虚拟化环境
cd /虚拟化环境目录/Scripts
active
# 退出虚拟化环境
deactivate
virtualenv
**介绍:**使用增强模块进行虚拟化环境创建。
使用:
-
需要安装两个增强模块
pip install virtualenv # 该模块是Windows的增强模块 使得在Windows上使用虚拟环境更方便 pip install virtualenvwrapper-win -
需要增加一个环境变量的配置 WORKON_HOME 变量值为虚拟化环境的目录位置
-
找到对应安装插件的Python的安装目录,然后进入Scripts文件夹,双击运行virtualenvwrapper.bat文件
-
创建虚拟环境 执行命令 mkvirtualenv 虚拟环境名字
# 创建虚拟化环境
mkvirtualenv 虚拟环境名字
# 进入虚拟化环境
cd /虚拟化环境目录/Scripts
active
# 退出虚拟化环境
deactivate
# 查看全局的虚拟化环境
workon
virtualenv
**介绍:**使用增强模块进行虚拟化环境创建。
使用:
-
需要安装两个增强模块
pip install virtualenv # 该模块是Windows的增强模块 使得在Windows上使用虚拟环境更方便 pip install virtualenvwrapper-win -
需要增加一个环境变量的配置 WORKON_HOME 变量值为虚拟化环境的目录位置
-
找到对应安装插件的Python的安装目录,然后进入Scripts文件夹,双击运行virtualenvwrapper.bat文件
-
创建虚拟环境 执行命令 mkvirtualenv 虚拟环境名字
# 创建虚拟化环境
mkvirtualenv 虚拟环境名字
# 进入虚拟化环境
cd /虚拟化环境目录/Scripts
active
# 退出虚拟化环境
deactivate
# 查看全局的虚拟化环境
workon
昇腾计算产业是基于昇腾系列(HUAWEI Ascend)处理器和基础软件构建的全栈 AI计算基础设施、行业应用及服务,https://devpress.csdn.net/organization/setting/general/146749包括昇腾系列处理器、系列硬件、CANN、AI计算框架、应用使能、开发工具链、管理运维工具、行业应用及服务等全产业链
更多推荐

所有评论(0)