案例:用户登录信息校验模块版
分析:
1.异常类搬家放到独立的包中,作为模块导入使用
2.业务函数登录操作搬家放到独立的包中,作为模块导入使用
3.主程序中要使用上述模块,导入
4.所有使用模块的地方都要导入
1、首先创建包service和excp
2、在service包中创建 .py文件service_login.py
class NameQuestion(Exception):
pass
class PasswordQuestion(Exception):
pass
3、在excp包中创建question.py文件,引入question中的全部
from excp.question import *
def check_login(name,pwd):
if len(name) <3 or len(name) > 8:
raise NameQuestion("用户名长度必须在3到8个字符之间")
if not name.isalnum():
raise NameQuestion("用户名中必须使用英文字母和数字组成")
if len(pwd) != 6:
raise PasswordQuestion("密码长度必须是6位")
if not pwd.isnumeric():
raise Password
4、在venx中新建文件user_login.py,引入question和service_login
import service.service_login
from excp.question import *
name = input("请输入用户名:")
pwd = input("请输入密码:")
try:
service.service_login.check_login(name,pwd)
except NameQuestion as e:
print(str(e))
except PasswordQuestion as e:
print(str(e))
else:
print("正常登陆,请使用")
5、执行程序
1)正常执行
2)输入不规范用户名
3)输入不规范密码