01

[一些Typora的快捷键]

  • shift+tab 恢复格式

  • ctrl+shift+] 打出小黑点

    • 再按Tab变成小圆点
      • 再按Tab变成小黑方块,最多两次。
    • 如果按shift+Tab则可倒回上一级

[一]编程语言

[1]什么是编程语言?

  • 编程语言是人与计算机沟通的媒介。

[2]为什么会发明编程语言?

  • 因为人类需要发明一种能让计算机可识别读懂的语言。

[3]什么是编程?

  • 编程是指将人类思维逻辑翻译成计算机能理解并执行的指令,这些指令可写入文件从而编程可被执行的程序。

[4]做编程的目的

  • 编程的目的是为了让计算机按照人类的意愿完成特定的任务,实现自动化,提高工作效率,解放人力,以及创造各种应用和软件。

[二]计算机的组成原理

[1]什么是计算机

  • 计算机就是通电的大脑
  • 可无限制的处理人类发出的指令的机器

[2]为什么要发明计算机

  • 因为计算机可无限制的不间断工作
  • 节省劳动成本、增加效率

[3]计算机的五大组成部分

  • 控制器
    • 主要由控制单元(CU)、指令寄存器(IR)程序计数器(PC)组成。CU主要执行指令的作用,IR一般存放当前欲执行指令、PC存放下一条指令的地址。控制器(conerol unit)是指计算机的控制中心和指挥中心。它负责控制计算机各部件运行程序,执行指令,完成程序规定的功能。程序是一个指令序列,控制器需要按照程序的要求,决定指令执行顺序,取出当前应该执行的指令,生成各种操作控制命令,逐条完成各条指令的功能。
  • 运算器
    • 主要由算术逻辑单元(ALU)、累加寄存器(ACC)、乘商寄存器(MQ)状态存储器、通用存储器等组成。运算器的功能主要包括算术运算和逻辑运算以及移位补位等辅助运算。运算器的核心是算术逻辑单元(ALU)。运算器的操作种类来源于控制器,操作的数值来源于存储器。处理结果往往返回存储器
  • 储存器
    • 主要由存储体 M,地址寄存器(MAR)、数据寄存器组成(MDR)。MAR一般反映的是存储单元的个数,而MDR反映的是存储的字长。主要功能是存储程序和各种数据,并能在计算机运行过程中高速、自动地完成程序或数据的存取。存储器是具有“记忆”功能的设备,它采用具有两种稳定状态的物理器件来存储信息。这些器件也称为记忆元件。在计算机中采用只有两个数码“0”和“1”的二进制来表示数据。记忆元件的两种稳定状态分别表示为“0”和“1”。日常使用的十进制数必须转换成等值的二进制数才能存入存储器中。计算机中处理的各种字符,例如英文字母、运算符号等,也要转换成二进制代码才能存储和操作。
  • 输入设备
    • 任务是把数据、指令及某些标志信息等输送到计算机中去。键盘、鼠标、摄像头、扫描仪、光笔、手写输入板、游戏杆、语音输入装置等都属于输入设备(Input Device ),是人或外部与计算机进行交互的一种装置,用于把原始数据和处理这些数据的程序输入到计算机中。
  • 输出设备
    • 是把计算或处理的结果或中间结果以人能识别的各种形式,如数字、符号、字母等表示出来,因此输入输出设备起了人与机器之间进行联系的作用。常见的有显示器、打印机、绘图仪、影像输出系统、语音输出系统、磁记录设备等。

[一]小结

  • cpu是人的大脑,负责控制全身和运算
  • 内存是人的记忆,负责临时存储
  • 硬盘是人的笔记本,负责永久存储
  • 输入设备是耳朵或眼睛或嘴巴,负责接收外部的信息存入内存
  • 输出设备是你的脸部(表情)或者屁股,负责经过处理后输出的结果
  • 以上所有的设备都通过总线连接,总线相当于人的神经。

[4]计算机的三大核心硬件

(1)cpu

  • cpu = 控制器+运算器
  • cpu又叫做中央处理器
  • 负责整个电脑的调度和运算

(2)内存

  • 是临时存放数据的地方
  • 断电数据即消失,安全性低。优点:读取速度快。

(3)硬盘

  • 长久储存器
  • 断电也不会丢失,安全性高。缺点:读取速度慢

[5]程序执行的过程

[1]操作系统的又来:

  • 出现的目的就是简化我们的硬件操作:
    • 计算机是基于电工作的,用0和1来区分高低电频

[2]操作系统

  • 操作系统其实就是在一堆硬件的基础上实现功能和接口的封装,我们可以通过这些接口和程序进行硬件的调度

[3]开发一套操作系统

[4]常见的操作系统

  • Windows操作系统:

    • win7
    • winxp
    • win8
    • win10
    • win11
  • Mac:

    • Ios系统

    • intel

  • Linux:

    • centos
    • 蓝鲸
  • Andoraid

  • IOS

  • 鸿蒙

  • ……

[5]系统软件和操作软件的区别

(1)系统软件

  • 系统自带的服务、文件管理器

(2)应用软件

  • 基于windows系统之上安装的其他软件,列如:qq、微信、网易云等

[6]计算机系统的三层架构

  • 应用层
  • 操作系统曾
  • 硬件层(最底层)

[7]平台

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

  • Linux平台

    • 用在服务器上
    • 只需要一个 CPU+显卡+内存+硬盘
  • Window平台

    • Window系统 + CPU + ...
  • MacOS平台

    • macOS + Mac相关硬件

    [四]为什么我们要学习python

[1]跨平台性高:

  • 可在不同的操作系统来回切换,对比java则需要java虚拟机

[2]学习成本低

[五]编程语言

[1]编程语言的分类

  • 机器语言、汇编语言、高级语言

[1]机器语言

  • 机器语言就是能直接操作计算机硬件,是低级语言,不是人类能轻易看懂的语言
  • 用电的低高频编写(0/1)

[2]机器语言的示例

  • (繁琐切难以记忆)
'''指令部份的示例'''
 0000 代表 加载(LOAD)
 0001 代表 存储(STORE)
 ...
 
LOAD 0000  # 加载寄存器A
STORE 0001 # 存储到寄存器B

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

'''存储器部份的示例'''
000000000000 代表地址为 0 的存储器
000000000001 代表地址为 1 的存储器 
000000010000 代表地址为 16 的存储器
100000000000 代表地址为 2^11 的存储器

[3]机器语言的优缺点

  • 优点:

    • 可执行效率高
    • 可直接被计算机识别且操作计算机底层硬件
  • 缺点:

    • 开发效率低,学习成本高,开发效率慢
    • 跨平台效率差,如更换硬件就会导致机器指令失效
  • 底层单位数据的换算
    
    # 00000001 表示1字节,有256种排列方式,从0到255。
    
    # 八个字节表示一个 bytes
    # 8 字节 = 1 bytes
    # 1024 bytes = 1 kB
    # 1024 kb = 1 MB 
    # 1024 mb = 1GB
    # 1024 GB = 1 TB
    # 1024 TB = 1 ZB
    

[2]汇编语言

(1)什么是汇编语言

  • 即用英文字母或单词串替代了原来的人类看不懂的机器语言

(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            		; 调用内核功能

(3)汇编语言的优缺点

  • 优点:
    • 执行效率高
      • 同机械语言
    • 能让人看懂了
      • 降低机器语言的阅读难度
    • 可执行文件变小
  • 缺点:
    • 开发效率依旧很低
      • 同机器语言
    • 复杂度依然很高
    • 跨平台性差
      • 总结:除了人能稍微看懂以外与机器语言缺点还是一样

[3]高级语言

(1)什么是高级语言

  • 高级语言就是从人类的角度出发,用人的思维将人的语言转换为计算机可以识别的语言
    • 可以通过人类的指令实现操作计算机等硬件
  • 我们不需要考虑底层硬件而是直接操作系统
  • 更贴近与人类
  • 简而言之就是比机器语言和汇编语言都要高级的语言

(2)高级语言的分类

  • 按照编译方式分为两类
    • 编译型语言
    • 解释型语言

(3)编译型语言

[1]什么是编译型语言

  • 编译型语言就是将源代码一次性翻译成目标代码,然后生成一个可执行文件

    • 下次执行代码只需要执行 翻译过后的文件即可
  • 如果我觉得代码中某些代码需要修改和完善,修改完代码以后就需要再重新编译

  • 比兔说我们拿到一篇英文文献

    • 一次性将整篇文献翻译成汉语,直接使用
      • 下次如果不改动,直接使用翻译稿即可
    • 一旦发生改动。整篇文章重新翻译

[2]优缺点

  • 优点:
    • 一次编译处处执行,只需要编译一次,下一次可以直接拿过来用,效率很高
  • 缺点
    • 但是修改过后需要重新编译
    • 跨平台性很差
      • Window系统上编译出来的可执行文件

[3]编译型语言的代表

  • C、C++、C#、Java

(2)解释型语言

[1]什么是解释型语言

  • 解释性语言就是在执行代码的过程中,不是一次性变异而是用到哪里就编译到哪里

  • 一点一点的进行编译后执行

  • 比兔说我们拿到一篇英文文献

    • 翻译一段就用一段,用到哪就翻译到哪
    • 效率就变低了

[2]解释型语言的优缺点

  • 优点
    • 不需要改动后再编译,开发效率提高了
    • 跨平台性很强
  • 缺点
    • 执行效率变慢了

[3]编译语言代表

  • Go、Python

[4]各种那个开发语言对比

(1)执行效率

  • 机器语言
  • 汇编语言
  • 高级语言
    • 编译型
    • 解释型

(2)开发效率

  • 高级语言
    • 解释型
    • 编译型
  • 汇编语言
  • 机器语言

(3)跨平台性

  • 高级语言
    • 解释型
    • 编译型
  • 汇编语言
  • 机器语言

六】Python语言介绍

【1】创建人

  • 吉多·范罗苏姆(Guido van Rossum)。

【2】名字的由来

  • Python这个名字,来自Guido所挚爱的电视剧《Monty Python’s Flying Circus》,他希望这个新的叫做Python的语言,能符合他的理想:
  • 创造一种C和shell之间,语法能够像shell一样简洁,易学易用、可拓展性强,同时兼顾C的强大功能。

【3】全球语言排行榜

  • image-20240326161124225

用领域

  • 人工智能、数据分析、爬虫、金融量化、云计算、WEB开发、自动化运维/测试、游戏开发、网络服务、图像处理等众多领域。
  • 图像处理比如人脸识别
  • 数据分析

【补充】Python全栈开发可从事方向 - Chimengmeng - 博客园 (cnblogs.com)

【5】国内大厂都在用

  • 目前业内几乎所有大中型互联网企业都在使用Python
    • Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。

【6】Python解释器的发展史

  • 1989年,Guido开始写Python语言的编译器。

  • 1991年,第一个Python编译器诞生。

    • 它是用C语言实现的,并能够调用C语言的库文件。
    • 从一出生,Python已经具有了:类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。
  • Python 2.7 - July 3, 2010

  • Python 3.6 - 2016-12-23 发布python3.6.0版

  • Python3.10版本我们学

  • 最新版本的解释器不稳定存在bug

【7】Python的解释器的种类

(1)Cpython解释器

  • 基于C语言开发的解释器版本

  • 我们学习使用的解释器就是基于C语言开发出来的CPython解释器

  • 底层源码都是C语言,如果从Python代码开源码,看不到C代码

  • 从Python解释器的官网 GitHub

(2)jpython

  • 基于Java写的Python解释器,没人用

(3)ipython

  • 可以进行交互的解释器版本呢

【七】Python解释器安装(Window)

【1】访问Python官网

【2】选择Windows系统

image-20240326161159220

【3】搜索指定版本

  • Window系统
    • ctrl + f
  • Macos
    • command + f

image-20240326161224299

【4】安装解释器

(1)双击安装程序

image-20240326161342250

  • 勾选Add python.exe to PATH 这点很重要!!!

(2)自定义安装位置

  • image-20240326161353983

image-20240326161527402

image-20240326161757855

(4)安装成功

image-20240326161817196

【八】Python解释器安装(Mac)

【1】打开官网

Python Releases for macOS | Python.org

【2】双击安装程序

  • .pkg结尾的安装包

【九】多版本解释器共存

【1】原因

  • 我的电脑系统里面存在多个版本的Python解释器
  • Python3.10 和 Python3.8

image-20240326161836120

【2】查看自己电脑的环境变量

image-20240326161917882

image-20240326161935956

【3】系统变量

image-20240326162254015

【4】Python解释器环境变量

image-20240326163349245

  • 将Python310解释器版本环境变量上移并保存

image-20240326163448395

  • 这种方案很low
  • 每次需要用到其他版本我都需修改环境变量

【5】修改解释器

  • 将原本的Python解释器快捷方式复制一份成副本
  • 修改副本的名称编程指定版本的解释器即可
  • 系统环境变量谁在上面敲 python 就会先触发谁

【十】书写Python代码

【1】直接在命令行书写代码

  • CMD调出命令行窗口,进入到终端 敲 python 进入到解释器环境
  • 直接书写代码

如果在终端书写大量的Python代码,不能美化代码样式并且书写起来很费劲,临时的

【2】借助文件

  • 桌面上新建一个 txt文档
  • 书写Python代码
  • 将文件名命名为 以 .py 结尾的文件

修改的事文件的扩展名而不是文件名

  • 执行Python代码需要再终端输入 python + py文件路径即可完成调用

【3】方案

  • 我们向美化界面并且能持续的书写Python代码
  • 需要借助第三方工具
    • sublit 、 pycharm 、 vscode ...
  • 我们用pycharm

【4】Python代码执行的顺序及流程

  • 读取应用程序并执行的流程

  • 写一个带有Python代码的文件保存到了硬盘上

  • 首先要将文件里的内容读取到内存中

  • CPU需要将数据从内存读取到CPU,CPU去调度执行

    • 需要用到Python解释器
    • 去找Python解释器
    • 找到了安装的解释器 python.exe
  • 调度解释器去执行代码

【十一】安装pycharm

【1】访问官网

【3】安装

(1)双击安装程序

(2)选择安装位置

  • 不要装在C盘!

(3)全选/选jetbrains!(重要)

(4)安装成功

(5)进入并使用

【十二】pycharm操作

【1】添加解释器环境

image-20240326163750958

【2】选择系统解释器

image-20240326163807044

【3】添加解释器方式二

image-20240326163837786

posted @ 2024-03-26 16:54  HuHuMarshal  阅读(186)  评论(0)    收藏  举报