1,什么是面向过程
面向过程,核心是过程,过程是解决问题的步骤.先干嘛后干嘛,设计流水线. 从大到小处理问题,安装流程。
优点,复杂的问题简单化,流程化。
缺点, 可扩展性差 ,设计出来以后更改牵一发动全身。
2.代码为交互登录注册验证。
1 import json #序列化
2 import re #正则表达式
3
4
5 def interactive():#交互函数
6 name = input(">>:").strip()#输入姓名
7 pwd = input(">>:").strip()#输入密码
8 email = input(">>").strip()#输入邮箱
9 return {#返回字典形式客户输入的信息赋值给user_info
10 "name": name,
11 "pwd": pwd,
12 "email": email
13 }
14
15
16 def check(user_info):
17 is_valid = True#is_valid 默认值true
18 if len(user_info["name"]) == 0:#长度0
19 print("用户名不能为空")#打印不能为空
20 is_valid = False#更改默认值,未验证成功
21 if len(user_info["pwd"]) < 6:#默默小于6位
22 print("密码不能小于6位")#打印
23 is_valid = False#更改默认值,未验证成功
24 if not re.search(r"@.*?.com$", user_info["email"]):#正则表达式判断客户输入的邮箱是否满足要求
25 print("邮箱不合法")#打印不合法
26 is_valid = False#更改默认值,未验证成功
27 return {"is_valid": is_valid,#返回默认值is_valid和账户信息,以字典形式赋值给check_info
28 "user_info": user_info
29 }
30
31
32 def register(check_info):
33 if check_info["is_valid"]:#当为True的时候
34 with open("db.json", "w", encoding="utf-8") as f:#以写的模式创建一个数据库db.
35 json.dump(check_info["user_info"], f)#把客户信息序列化json模块
36
37
38 def main():
39 user_info = interactive()#执行交互函数,返回值付给user_info
40 check_info = check(user_info)#执行验证函数,把返回值付给check_info
41 register(check_info)# 执行注册函数
42
43
44 if __name__ == '__main__':#???????
45 main()