总结
json
-
json是一种通用的数据格式,主要用于不同语言之间的数据传输
-
json数据格式要求:
- 有且只有一个数据
- 唯一的整个数据必须是json支持的数据类型的数据
-
json支持的数据类型:
- 数字类型 包含所有的数字,表示的时候直接写,例如:90, 12.5, -23, 3e4
- 字符串 只能用双引号,双引号引起来的数据
- 布尔 只有true和false两个值,表示的时候直接写,例如:true, false
- 空值 null
- 数组 相当于python列表
- 字典 相当于python字典,json字典的键只能是字符串
-
json模块
-
import json
-
-
python数据和json之间的互相转换
-
json.loads(json格式的字符串): 对数据进行解码,将json格式的字符串中的内容转换成python数据
-
json转python
json -> python
数字 int,float
字符串 str(可能将双引号变成单引号)
布尔值 首字母大写
null None
数组 list
字典 dict -
json.dumps(python数据): 对数据进行编码
-
python转json
python -> json
int,float 数字
str 字符串
bool 布尔值
None null
list,tuple 数组
dict 字典
-
异常捕获
- 什么是异常
- 程序在执行过程中出现了报错,就叫程序出现了异常
- 程序出现异常,程序会直接结束,不会执行这个异常后的代码
- 异常捕获
- 异常捕获就是让程序出现异常的时候,程序不崩溃还可以接着往后执行
- 注意:不是什么时候都需要捕获异常的,而是程序员知道这个地方可能会出现异常,但又是没办法通过修改自己的代码来避免这个异常(因为使用者使用不当导致的异常之类的)
- 捕获异常
- 方式一:捕获所有类型的异常
try:
代码段1 (需要捕获异常的代码)
except:
代码段2 (捕获到异常后会执行的代码)
其他代码
执行过程:先执行代码段1,如果出现异常直接执行代码段2再执行其他代码,如果无异常就执行代码段1跳过代码段2执行其他代码 - 方式二:捕获特定类型的异常
try:
代码段1 (需要捕获异常的代码)
except 异常类型:
代码段2 (捕获到异常后会执行的代码)
其他代码 - 方式三:捕获多种异常
try:
代码段1 (需要捕获异常的代码)
except (异常类型1, 异常类型2, 异常类型3, …):
代码段2 (捕获到异常后会执行的代码)
其他代码 - 方式四:捕获多种异常,然后针对不同异常做不同处理
try:
代码段1 (需要捕获异常的代码)
except 异常类型1:
代码段11 (捕获到异常后会执行的代码)
except 异常类型2:
代码段22 (捕获到异常后会执行的代码)
except 异常类型3:
代码段33 (捕获到异常后会执行的代码)
其他代码
- 方式一:捕获所有类型的异常
- finally
- try:
代码段1 (需要捕获异常的代码)
except 异常类型:
代码段2 (捕获到异常后会执行的代码)
finally:
代码段 - finally后的代码段不管try后面发生了什么都会执行:
-
- try后面的代码没有异常,代码段会执行
-
- try后面的代码出现异常被捕获到,代码段会执行
-
- try后面的代码出现异常没有被捕获到,代码段会执行
-
- try:
- 抛出异常
- 主动让程序崩溃
- 语法:raise 异常类型
正则表达式(部分)
-
正则模块re
from re import fullmatch
-
fullmatch(正则表达式, 字符串) 让正则表达式和字符串进行完全匹配,如果匹配失败返回None
-
正则表达式:r’正则表达式’ - python; /正则表达式/ - js
-
什么是正则表达式
- 正则表达式是处理字符串数据问题福瑞工具(可以让很多复杂的字符串问题变得简单)
-
正则语法(不是python特有的,在不同的语言中使用语法大同小异)
- 普通字符 在正则表达式中表示符号本身的字符
- . 表示匹配一次任意字符
- \d 匹配一个任意数字
- \D 匹配一个非数字字符
- \s 匹配一个空白字符(空白字符 能产生空白效果的字符,例如:空格, \n, \t)
- \S 匹配一个非空白字符
- [字符集] 匹配字符集的任意一个字符(注意:一个[]只能匹配一个字符)
- [^字符集] 匹配不在字符集中的任意一个字符