面向过程编程
面向过程编程其实是一种机械式的思维方式,其核心就是"过程"。
过程指的是一种解决问题的步骤,即先干什么再干什么,最后干什么。
优点:将复杂的问题流程化,进而简单化。
哈哈哈哈,这种时刻,话不多说,上代码!
# 需求:实现一个注册功能 def user_pwd_auth(): """ 检验用户名、密码的合法性 :return: 合法的用户名、密码 """ while True: username = input("请输入用户名>>>:") if username.isalpha(): break else: print("您输入的用户名不合法!") while True: password = input("请输入密码>>>:") re_pwd = input("请输入确认密码>>>:") if password == re_pwd: break else: print("密码和确认密码不一致!") return username, password def cut_user_pwd(username, pwd): """ 拼接用户名和密码,返回一个字符串 :param username: 用户名 :param pwd: 密码 :return: 字符串 """ return f"{username}|{pwd}\n" def save_user(userinfo): """ 将用户名和密码信息存储在文本文件中 :param userinfo: 拼接后的用户名和密码字符串 :return: None """ with open("userinfo.txt", "a", encoding="utf-8") as af: af.write(userinfo) def register(): """ 注册用户信息 :return: """ # 1、让用户输入用户名、密码,检验用户名和密码的合法性,得到合法的用户名和密码 username, pwd = user_pwd_auth() # 2、将用户名和密码进行拼接,得到一个用户密码字符串 user_pwd = cut_user_pwd(username, pwd) # 3、将用户密码字符串存入文本文件中 save_user(user_pwd) register()
以上就是实现用户注册功能的面向过程思想的代码的展现。这个时候,如果我们想要在用户注册的时候,保存用户角色,并且每一个用户信息以用户名命名的文本文件保存,那我们该咋整?
# 需求:实现一个注册功能 def user_pwd_auth(): """ 检验用户名、密码、用户角色的合法性 用户角色:普通用户、管理员、超级用户 :return: 合法的用户名、密码、用户角色 """ while True: username = input("请输入用户名>>>:") if username.isalpha(): break else: print("您输入的用户名不合法!") while True: password = input("请输入密码>>>:") re_pwd = input("请输入确认密码>>>:") if password == re_pwd: break else: print("密码和确认密码不一致!") while True: user_role = input("请输入用户角色(普通用户/管理员/超级用户):") if user_role in ['普通用户', '管理员', '超级用户']: break else: print("您输入的用户角色不正确!") return username, password, user_role def cut_user_pwd(username, pwd, user_role): """ 拼接用户名和密码,返回一个字符串 :param username: 用户名 :param pwd: 密码 :return: 字符串 """ return f"{username}|{pwd}|{user_role}\n" def save_user(userinfo, username): """ 将用户名和密码信息存储在文本文件中 :param userinfo: 拼接后的用户名和密码字符串 :return: None """ with open(f"{username}.txt", "w", encoding="utf-8") as wf: wf.write(userinfo) def register(): """ 注册用户信息 :return: """ # 1、让用户输入用户名、密码和用户角色。 # 检验用户名、密码和用户角色的合法性,得到合法的用户名、密码和用户角色 username, pwd, user_role = user_pwd_auth() # 2、将用户名、密码和用户角色进行拼接,得到一个用户密码角色字符串 user_pwd = cut_user_pwd(username, pwd, user_role) # 3、将用户密码角色字符串存入以用户名命名的文本文件中 save_user(user_pwd, username) register()
为了展现这个缺点,一声不吭的使用了【CV】大法。非常感谢小阔爱们看到了这里,从上述两个代码中可以发现,面向过程编程缺点:若修改某一部分功能,会导致其他部分同时需要修改。牵一发而动全身,扩展性差。