一、复习
1.json 数据
注意:一个 json 数据有且只有一个数据,并且数据类型是 json 支持的数据类型。
例如:
数字:100、20.25、-78.321
字符串:用双引号框起来(支持转义字符、编码字符)。
布尔:true、false
数组:相当于 python 中的列表;
字典:相当于 python 中 的字典(字典里的 key 值必须是字符串);
null:相当于 python 中 的 None ,表示空。
json --> python:loads(字符串)
load(文件对象)
注意:字符串里面的数据必须是 json 数据。
python --> json:dumps(对象)
dump(对象,文件对象)
注意:对象里面的数据必须是 python 数据。
2.异常处理
try-except(-finally):捕获所有的异常
try-except (错误类型1, 错误类型2···)(-finally):同时捕获多个指定错误类型的异常,做出相同的处理。
try-except 错误类型1-except 错误类型2···(-finally):同时捕获多个指定错误类型的异常,做出不相同的处理。
finally:
在后面都可以加一个 finally ,不管代码中是否出现异常,也不管出现异常后是否被捕获,finally 后面的代码都会执行。
try:
代码段1
except:
代码段2
finally:
代码段3
3.抛出异常
raise 错误类型(这个错误类型必须是一个类,并且是 Exception 的子类)
例如:
def new_ex():
try:
print('adc'[5])
except IndexError:
print('出现异常')
finally:
print('test')
def main():
new_ex()
if __name__ == '__main__':
main()
运行效果:
出现异常
test
二、学生管理系统
对以前学生管理系统的改动:
1、把教师(管理者)数据的存储方式改为教师姓名为 key ,登录密码为 value 值。
2、存学生信息的 json 文件也不再单独是只存学生信息,还可以存对应的老师信息等。
3、把登录界面的功能和学生管理的功能分别封装到不同的函数里。
4、不同的教师对应不同的学生群体
1.数据结构设计
a.一个学生管理可以管理多个学生 -> 同时管理多个学生的数据结构是列表
b.一个学生可以存储多种信息,包括:姓名、年龄、电话、学号(自动产生) -> 每个学生对应的数据结构是字典
管理学生整个的结构是:
[
{'name': , 'age': , 'tel': , 'id': },
{'name': , 'age': , 'tel': , 'id': },
{'name': , 'age': , 'tel': , 'id': },
....
]
整个管理系统的数据结构:
{
'all_student': [
{'name': , 'age': , 'tel': , 'id': },
{'name': , 'age': , 'tel': , 'id': },
{'name': , 'age': , 'tel': , 'id': },
....
],
'max_number': 1
}
2.文件选择(数据持久化)
保存的数据对象是字典 -> 选择json文件
一个用户对应一个json文件, json文件名就是用户名
网友评论