day14 json和变量

day14 json和变量

1.json数据

1.1什么是json

json是一种数据格式;几乎所有的高级语言都支持这种数据格式的处理,

所以json主要用在不同语言之间的数据交流。

1.2json格式

json格式的要求:

1)一个json有且只有一个数据

2)唯一的数据必须是json支持的数据类型的数据

json支持的数据类型:

1)数字类型(number) - 所有数字对应的类型,不包含复数,表示的时候随便写。

2)字符串(String) - 用双引号引起来的字符集(只能是双引号)(“abc”,“123”,"\n1234","\ue400abc")

3)布尔(Boolean) - 只有true和false两个值

4)数组(Array) - 相当于python中的列表

5)字典(Dictionary) - 相当于python中的字典,key只能是字符串

6)空值 - null相当于python中的None

1.3json数据和python数据指点的互相转换

python中提供了一个json模块,专门用来处理json数据相关的函数

1)json数据转python数据

json -> python

数字 int/float

字符串 字符串(可能会将双引号变成单引号)

布尔 布尔(首字母会变成大写字母)

数组 列表(元素也会进行相应的转换)

字典 字典(元素也会转换)

null None

json.loads(json格式的字符串) - 将json格式字符串转换成对应的python数据

​ json格式的字符串:字符串内容满足json格式

result = json.loads('"abc"')
print(result, type(result))
result = json.loads('100')
print(result, type(result))

2)python数据转换成json数据

python -> json

int 数字

float 数字

字符串 字符串(引号会变成双引号)

布尔 布尔(True -> true;False -> false)

列表、元组 数组(元素也会自动转换)

字典 字典(key全部会自动变成字符串)

None null

json.dumps(pyrhon数据) - 将指定的python数据转换成json格式的字符串

result = json.dumps(10)
print(result, type(result))     # '10' <class 'str'>
result = json.dumps([10, 12.3, 'abc', True, None])
print(result)                   # [10, 12.3, "abc", true, null]
result = json.dumps({'a': 10, 10: 100})
print(result)                   # {"a": 10, "10": 100}

result = json.dumps((10, 'abc\n123'))
print(result)                   # '[10, "abc\n123"]'

2.异常捕获

2.1什么是异常

异常就是报错(程序报错就是程序出现异常)

执行程序的过程中如果出现异常,程序会直接结束(实际是线程结束)

2.2什么是异常捕获

1)异常捕获就是让程序在出现异常的时候,不崩溃继续执行

2)不是任何异常都可以捕获的,只有在明知道某段代码会出现异常但是又不能或者不方便通过代码来避免,这个时候可以对异常捕获

2.3怎么捕获异常

方法一:捕获代码段1所有异常

try:

​ 需要捕获异常的代码段1

except:

​ 捕获到异常后会执行的代码段

其他代码

执行过程:先执行try里面的代码段,执行过程中如果出现异常,程序不崩溃,马上直接except后面的代码段,执行完后之心其他代码;

如果执行try里面的代码段没有出现异常,except后面的代码不会执行,直接之心其他代码

方法二:捕获指定异常

try:

​ 需要捕获的代码段

except (异常类型1, 异常类型2, 异常类型3, …):

​ 捕获到异常后会执行的代码段

方法四:同时捕获多种异常,针对不同的异常做不同的处理

try:

​ 需要捕获异常的代码段

except 异常类型1:

​ 代码块1

except 异常类型2:

​ 代码块2

finally:

​ 代码块

2.4finally - 写遗书

try:
    list1 = [10, 20]
    # print(list1[10])
except KeyError:
    print('出现异常')
finally:
    print('转移财产!')

2.5抛出异常 - 主动让程序崩溃

raise 异常类型

异常类型可以是系统异常类型也可以是自定义的异常类型

def func2(age: int):
    if age < 0 or age > 150:
        raise AgeError
    if age >= 18:
        print('成年人')
    else:
        print('未成年')


func2(280)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值