【一】笔记软件Typora安装和介绍
【1】typora介绍
- Typora是一款非常流行的Markdown编辑器,它能够将Markdown文本转化为漂亮的排版,并且支持实时预览。Typora具有简单易用的界面,使得用户可以轻松地编写和编辑Markdown文本。此外,Typora还支持多种平台,包括Windows、Mac和Linux。
【2】下载安装包
- Typora 官方中文站 (typoraio.cn)
【3】安装
- 选择install for all user‘
- 1、打开 typora ,点击“输入序列号”:
- 2、邮箱一栏中任意填写(但须保证邮箱地址格式正确),输入序列号(在key.txt文件中,任选一条),点击“激活”。
- 3、出现已激活即可
【4】markdown语法介绍
# 【一】标题级别
# 1 ~ 6 级标题
# 【1】代码写
# 1
## 2
# 【2】快捷键
# ctrl + 字母键盘上面的数字键# 【二】代码块
# 语法创建
``` # esc 下面的 波浪号 切换成英文 ````编程语言
# 不同的编程语言中的代码的高亮不一样```# 工具栏创建
# 段落 ~ 代码块 (需要自己补充编程语言)# 【三】无序列表# 快捷键 ctrl + shift + 左大括号键# 工具栏创建
# 段落 ~ 无序列表# 【四】有序列表# 快捷键 ctrl + shift + 右大括号键# 工具栏创建
# 段落 ~ 有序列表# 【五】文本加粗
# 快捷键 ctrl + B# 【六】插入表格
# 段落 - 插入表格# 【七】导出文件
# 文件 ~ 导出 ~ pdf 文件
【5】typora设置
(1)图片设置
(2)上传图片
-
将图片上传到服务器 然后拿到服务器返回的图片地址渲染
-
七牛云 + Typora + PicGo 搭建图床 - Chimengmeng - 博客园 (cnblogs.com)
(3)主题
- 打开设置 - 主题 - 获取主题 - 下载主题 - 放到主题文件夹中即可生效
【二】编程和编程语言
【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)。
【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已飙升至世界第一。
【4】Python的应用领域有哪些
- 数据分析:Python 里面有很多别人写好的第三方模块
- 人工智能:同样有很多的第三方包
- 爬虫:从网页上自动采集数据
- 云计算
- web开发
- 图像处理(人脸识别):借助Python的 opencv 模块
- ....
【5】Python的发展史
-
1989年,Guido开始写Python语言的编译器。
-
1991年,第一个Python编译器诞生。
-
它是用C语言实现的,并能够调用C语言的库文件。
-
从一出生,Python已经具有了:类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。
-
Granddaddy of Python web frameworks, Zope 1 was released in 1999
-
Python 1.0 - January 1994 增加了 lambda, map, filter and reduce.
-
Python 2.0 - October 16, 2000,加入了内存回收机制,构成了现在Python语言框架的基础
-
Python 2.4 - November 30, 2004, 同年目前最流行的WEB框架Django 诞生
-
Python 2.5 - September 19, 2006
-
Python 2.6 - October 1, 2008
-
Python 2.7 - July 3, 2010
-
In November 2014, it was announced that Python 2.7 would be supported until 2020, and reaffirmed that there would be no 2.8 release as users were expected to move to Python 3.4+ as soon as possible
-
Python 3.0 - December 3, 2008 (细心的读者会发现,08年时就推出了3.0,2010年反而又推出了2.7?是因为3.0不向下兼容2.0,而很多公司已经基于2.0版本开发出了大量程序,公司已然投入了大量的人财物力,这就导致大家都拒绝升级3.0,无奈官方只能推出2.7过渡版本,之后我们都应该采用3.0解释器开发程序,但为了方便读者维护2.0版本的软件,我们在遇到两种版本的差异时会专门指出来)
-
Python 3.1 - June 27, 2009
-
Python 3.2 - February 20, 2011
-
Python 3.3 - September 29, 2012
-
Python 3.4 - March 16, 2014
-
Python 3.5 - September 13, 2015
-
Python 3.6 - 2016-12-23 发布python3.6.0版
-
2020年: Python 2正式结束支持,用户被鼓励转向Python 3。
-
2020年之后: Python社区继续推动Python 3的普及,许多库和框架逐渐停止对Python 2的支持。
-
2020年: Python 3.8发布,带来了一些新的语言特性和性能改进。
-
2021年: Python 3.9发布,引入了一些新的语法和模块。
-
2022年: Python 3.10发布,继续改进语言的功能和性能。
-
2023年: Python继续在各个领域取得成功,成为数据科学、人工智能和Web开发等领域的首选语言之一。社区和生态系统不断扩大,新的库和框架涌现。
-
我们用 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解释器,可以直接把Python代码编译成.Net的字节码。
【六】Python解释器的安装
【1】打开Python官网
- Welcome to Python.org
【2】下载解释器
- 在downloads 点击 windows
- 按 ctrl + f 搜索 3.10
- 下载安装包: Windows installer (64-bit)
- 下载完成后的安装包
【3】安装 Python解释器
- 自定义安装
- 全勾上
- 选择安装位置
今日习题
1.计算机的五大组成部分,各部分的功能
2.计算机的三大核心硬件有哪些,主要功能是
3.我们是用的Python解释器的版本
昨日内容回顾
# 1.计算机的五大组成部分,各部分的功能
# 控制器 : 控制整个硬件设备的调度
# 运算器 : 处理计算机中的算数和运算逻辑
# 存储器 : 存储电脑运行过程中产生的永久性数据和临时性数据
# 输入设备 : 向计算机中输入内容
# 输出设备 : 计算机向人展示输出的内容# 2.计算机的三大核心硬件有哪些,主要功能是
# CPU :计算机的控制中心,负责调度和运算
# 硬盘 :长期(永久)存储数据
# 内存 : 暂时(临时存储数据)# 3.我们是用的Python解释器的版本
# 3.10 ---> CPython
# JPython# 【一】什么是编程和编程语言
# 语言是生物与生物和生物与非生物之间沟通交流的媒介
# 语言有包括 声音 肢体语言# 编程语言就是人与计算机之间沟通交流的媒介
# 编程:就是将人类的语言翻译成计算机可以识别的语言# 【二】编程语言的分类
# 【1】机器语言
# 直接操作底层硬件的语言
# 表现形式是 0 / 1 二进制数据# 优点 :直接操作底层硬件 效率高
# 缺点 : 学习成本大 跨平台性差
# 【2】汇编语言
# 用字母+特殊字符来代表一串二进制指令的语言# 优点:简洁操作底层硬件 效率很高
# 缺点:学习成本高 跨平台性差# 【3】高级语言
# 我们人类可以正常识别的语言
# 我们用的高级语言是基于操作系统之上的语言# 缺点:执行效率低(相较于计算机来说)
# 优点:学习成本低 跨平台性好# (1)编译型语言
# 编译型语言在执行之前需要一个专门的编译过程,将源代码编译成最终的可执行程序
# C / C++ c# / JAVA ...
# (2)解释型语言
# 边编译边执行
# Python Go PHP# 【三】Python
# 【1】创始人:吉多范罗姆
# 【2】Python历史版本
# 1989 年 开始写
# 1991 年 发布第一个公开发行版 Python1.0
# 1994 年 发布 稳定版本 Python1.0
# 2010 年 发布 2.7 版本
# 2016 年 发布第一个稳定版本 Python3.6
# 2024 年 发布了 Python3.12.4版本# 我们使用的版本是 Python 3.10# 【2】Python解释器的种类
# CPython : 使用C语言写的 Python解释器 我们使用的是 CPython
# JPython : 使用 java 语言写的 Python解释器
# PyPY
# IronPython# 【四】Python解释器的安装
# 【1】访问官网下载 Python解释器安装包
# python.org
# 一定要下载自己系统的安装包 64位/32位
# 32位 ---> 只能安装 32位
# 64位 ---> 能安装 64位 兼容 32位# 【2】双击安装包安装
# 一直点击下一步 直到安装完成
# 在安装的过程中 需要修改设置# custom installation 选择自定义安装