今日学习总结12.31

一、练习题讲解

 

 进阶

 

 

 

 

二、员工管理系统

目的: 复习前几天的知识点,里面可能会有很多漏洞

 

 

 

 

三、字符编码

1.引入

字符串类型、文本文件的内容都是由字符组成的,但凡涉及到字符的存取,都需要考虑字符编码的问题。

​ 字符编码这个知识点的典型特征就是理论多、结论少,但对于开发而言只需要记住结论即可

人类在与计算机交互时,用的都是人类能读懂的字符,如中文字符、英文字符、日文字符等
而计算机只能识别二进制数

翻译的过程必须参照一个特定的标准,该标准称之为字符编码表,该表上存放的就是字符与数字一一对应的关系

 

2.知识储备

a.三大核心硬件

所有软件都是运行硬件之上的,与运行软件相关的三大核心硬件为cpu、内存、硬盘,我们需要明确三点

#1、软件运行前,软件的代码及其相关数据都是存放于硬盘中的

#2、任何软件的启动都是将数据从硬盘中读入内存,然后cpu从内存中取出指令并执行

#3、软件运行过程中产生的数据最先都是存放于内存中的,若想永久保存软件产生的数据,则需要将数据由内存写入硬盘

3.文本编辑器读取文件内容的流程

#阶段1、启动一个文件编辑器(文本编辑器如nodepad++,pycharm,word)

#阶段2、文件编辑器会将文件内容从硬盘读入内存

#阶段3、文本编辑器会将刚刚读入内存中的内容显示到屏幕上

4.python解释器执行文件的流程

#阶段1、启动python解释器,此时就相当于启动了一个文本编辑器

#阶段2、python解释器相当于文本编辑器,从硬盘上将test.py的内容读入到内存中

#阶段3、python解释器解释执行刚刚读入的内存的内容,开始识别python语法

5.总结

#1、相同点:前两个阶段二者完全一致,都是将硬盘中文件的内容读入内存,详解如下
python解释器是解释执行文件内容的,因而python解释器具备读py文件的功能,这一点与文本编辑器一样

#2、不同点:在阶段3时,针对内存中读入的内容处理方式不同,详解如下
文本编辑器将文件内容读入内存后,是为了显示或者编辑,根本不去理会python的语法,而python解释器将文件内容读入内存后,可不是为了给你瞅一眼python代码写的啥,而是为了执行python代码、会识别python语法)

 

 

四、字符编码的发展史

1. 一家独大:

计算机起源于美国,所以,最开始的时候,计算机只考虑了英文字符
ASCII码表:

#1、只有英文字符与数字的一一对应关系
#2、一个英文字符对应1Bytes,1Bytes=8bit,8bit最多包含256个数字,可以对应256个字符,足够表示所有英文字符

0 : 48
A :65
a : 97

2.群雄割据

为了让计算机能够识别中文和英文,中国人定制了GBK
GBK编码:
# GBK表的特点:
  1、只有中文字符、英文字符与数字的一一对应关系
  2、 一个中文字符使用两个或者两个以上的bytes记录
  2bytes = 16位
16位可以表示 2 ** 16 种情况

如果超过了2 ** 16,gbk就会使用一个中文字符用3个字节表示


# Shift_JIS表的特点:
  只有日文字符、英文字符与数字的一一对应关系

# Euc_kr表的特点:
  只有韩文字符、英文字符与数字的一一对应关系

3.分久必合

为了让世界各国的字符统一起来,就诞生了unicode编码
unicode(万国码): 统一使用2个字节进行表示
eg:adsadsadsadsadsad
存在所有语言中的所有字符与数字的一一对应关系,即兼容万国字符

utf-8编码(unicode的优化版本)


把英文字符还按照一个字节表示
中文字符还按照2个字节或者更多字节表示


得出结论:以后我们都使用utf-8编码

 

五、字符编码的差异

1. 如何解决乱码问题

切换对应的编码

2. python解释器版本不同代码的差异

python2
python3

python2诞生的时候,还没有utf8的编码,所以,python2中不能使用utf8的编码

 

 

3. pycharm如何添加模板注释

settings
editor
file and code templates
python script
在这个里面写你想添加的内容

4. 编码与解码

编码:
# 把人类能够读懂的字符按照转成计算机能够识别的字符的过程
解码
# 把计算机能够读懂的字符按照转成人类能够识别的字符的过程
如何操作?
s = '你好啊,世界'
# 编码
# print(s.encode('gbk'))
s1 = s.encode('utf-8')

# 解码
s2 = s1.decode('utf-8')
print(s2)

 

posted @ 2021-12-31 16:10  晨昏xcf  阅读(35)  评论(0)    收藏  举报