基础和py解释器
引言:
继续接着上一个文章干活哈
本文内容:
- 计算机三大核心硬件部分详解
- 操作系统
- 编程与编程语言
- 编程语言的发展史
- 编程语言的分类
- Python解释器
- Python解释器多版本共存
计算机主要三核心硬件详解
CPU
中央处理器(CPU),是电子计算机的主要设备之一,电脑中的核心配件。其功能主要是解释计算机指令以及处理计算机软件中的数据。CPU是计算机中负责读取指令,对指令译码并执行指令的核心部件。中央处理器主要包括两个部分,即控制器、运算器,其中还包括高速缓冲存储器及实现它们之间联系的数据、控制的总线。电子计算机三大核心部件就是CPU、内部存储器、输入/输出设备。中央处理器的功效主要为处理指令、执行操作、控制时间、处理数据。
存储器
按信息的可保存性分类
非永久记忆的存储器:断电后信息即消失的存储器。
永久记忆性存储器:断电后仍能保存信息的存储器。
按在计算机系统中的作用分类
主存储器(内存):用于存放活动的程序和数据,其速度高、容量较小、每位价位高。
辅助存储器(外存储器):主要用于存放当前不活跃的程序和数据,其速度慢、容量大、每位价位低。
缓冲存储器:主要在两个不同工作速度的部件起缓冲作用。
输入设备
输入设备是向计算机输入数据和信息的设备,是计算机与用户或其他设备通信的桥梁,是用户和计算机系统之间进行信息交换的主要装置之一。输入设备的任务是把数据、指令及某些标志信息等输送到计算机中去。键盘、鼠标、摄像头、扫描仪、光笔、手写输入板、游戏杆、语音输入装置等都属于输入设备(Input Device ),是人或外部与计算机进行交互的一种装置,用于把原始数据和处理这些数据的程序输入到计算机中。
输出设备
输出设备(Output Device)是把计算或处理的结果或中间结果以人能识别的各种形式,如数字、符号、字母等表示出来,因此输入输出设备起了人与机器之间进行联系的作用。常见的有显示器、打印机、绘图仪、影像输出系统、语音输出系统、磁记录设备等。
操作系统
计算机是一台机器,它按照用户的要求接收信息、存储数据、处理数据,然后再将处理结果输出(文字、图片、音频、视频等)。计算机由硬件和软件组成:
- 硬件是计算机赖以工作的实体,包括显示器、键盘、鼠标、硬盘、CPU、主板等;
- 软件会按照用户的要求协调整台计算机的工作,比如 Windows、Linux、Mac OS、Android 等操作系统,以及 Office、QQ、迅雷、微信等应用程序。
操作系统是软件的一部分,它是硬件基础上的第一层软件,是硬件和其它软件沟通的桥梁(或者说接口、中间人、中介等)。

编程与编程语言
- 编程
指的是给计算机编定程序,使计算机能够完成我们需要的指令,得到相应的结果。这种人与计算机之间的交流过程就叫做编程。编程是一种逻辑的思维运算。
-
编程语言
编程语言(programming language)可以简单的理解为一种计算机和人都能识别的语言。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。
编程语言的3大类
- 机器语言:
| 定义 | 优点 | 缺点 |
|---|---|---|
| 计算机直接识别的二进制代码 | 直接执行,速度快,资源占用少 | 可读性、可移植性差,编程繁杂 |
机器语言是直接可以被计算机认识的语言,无需经过翻译,每一操作码在计算机内部都有相应的电 路来完成它。
- 汇编语言:
| 定义 | 优点 | 缺点 |
|---|---|---|
| 汇编无法直接被机器直接识别需要汇编 | 编译阅读(相对机器语言),速度块,资源占用少 | 可读性、可移植性差,可维护性差 |
汇编语言具有更高的机器相关性,更加便于记忆和书写,但又同时保留了机器语言高速度和高效率的特点。汇编语言仍是面向机器的语言,很难从其代码上理解程序设计意图,设计出来的程序不易被移植,故不像其他大多数的高级计算机语言一样被广泛应用
- 高级语言:
| 定义 | 优点 | 缺点 |
|---|---|---|
| 基本脱离了计算机的硬件系统与人逻辑类似 | 可读性,可移植性高,可维护 | 速度较慢,无法直接被计算机识别 |
面向过程或对象的语言。高级语言是参照数学语言而设计的近似于日常会话的语言。例如,要将2个变量相加并赋值给第三个变量,用高级语言表达为var3=var1+var2 。高级语言相对低级语言有较高的可读性
高级语言分类:
- 编译型语言(C, C#, C++, golang)
编译性语言例如c语言:用c语言开发了程序后,需要通过编译器把程序编译成机器语言(即计算机识别的二进制文件,因为不同的操作系统计算机识别的二进制文件是不同的),所以c语言程序进行移植后,要重新编译。(如windows编译成ext文件,linux编译成erp文件)
- 解释型语言(Python,Ruby,)
解释性语言编写的程序不进行预先编译,以文本方式存储程序代码。在发布程序时,看起来省了道编译工序。但是,在运行程序的时候,解释性语言必须先解释再运行。比如解释性Python语言,其专用的解释器在执行Python程序时,会逐条读取解释每个语句,这个其实就是一个编译过程,然后再执行。一般来说,现有的解释性语言都是采用的逐行解释一句,执行一句这样的方式来构建的。这样解释性语言每执行一次就要翻译一次,效率比较低
Python解释器
Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆(人称龟叔)于1990年代初设计,Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言, 随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。
- 优点
简单,易学,易读、易维护,用途广泛,速度较快,可移植性,解释性,面向对象,可扩展性 可扩充性 可嵌入性,丰富的库,规范的代码
- 缺点
单行语句和命令行输出问题:很多时候不能将程序连写成一行,如import sys;for i in sys.path:print i。而perl和awk就无此限制,可以较为方便的在shell下完成简单程序,不需要如Python一样,必须将程序写入一个.py文件。
给初学者带来困惑:独特的语法,这也许不应该被称为局限,但是它用缩进来区分语句关系的方式还是给很多初学者带来了困惑。
运行速度慢:这里是指与C和C++相比。
Python解释器:
Python解释器易于扩展,可以使用C语言或C++(或者其他可以通过C调用的语言)扩展新的功能和数据类型。 Python也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。
Python版本:
| 语言 | 主要版本 | 版本状态 |
|---|---|---|
| Python | 2.7 | 于2020年停止维护,部分项目依旧使用2.7 |
| Python | 3.6 | 正在维护,是评价比较稳定的版本 |
| Python | 3.8 | 正在维护,比较新的版本 |
| Python | 3.10 | 目前最新的版本,不建议现在使用 |
Python解释器的安装
| 系统环境 | Python版本 | 备注 |
|---|---|---|
| MacOS12.5 | 2.7 | |
| MacOS12.5 | 3.6 | 官方不支持M1 |
| MacOS12.5 | 3.8 | 已经提前安装,使用brew安装即可 |
安装python 2.7.18
这里下一步下一步就可以了


安装成功,打开终端进行测试,输入python指令
wesley@wesleydeMacBook-Pro ⮀ ~ ⮀ python
Python 2.7.18 (v2.7.18:8d21aa21f2, Apr 19 2020, 20:48:48)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> exit() #测试成功,exit()退出当前环境
#PS: linux mac 中通用的简单指令
cd //切换目录使用
.. //代表上一级目录,一般配合cd使用
exit() //python环境中退出指令,也可以使用quit()
ls //查看当前目录下文件和目录
pwd //查看当前所在路径
这里已经安装了3.8和2.7版本,至于3.6版本,en。。。各路大神都发现M1芯片arm架构无法安装 ,除非绕过arm架构使用inter,再使用虚拟环境启动完全绕过arm,这里就不折腾了,具体问题参见 MacOS M1Install Python 巨坑
Python程序的运行方式
1.命令行中直接输入代码运行,一般用于临时使用
2.保存问文件使用python解释器运行,不利于开发不建议使用
3.使用专业IDE开发者工具,一般具有自动提示,语法检查,自动补全等功能,建议使用
IDE工具:
1.sublime 需要自行设置各种插件,小白不建议使用
2.vscode 还可以,可以考虑使用
3.Pycharm 王牌产品,写python 当之无愧的选择

浙公网安备 33010602011771号