包&ATM项目
1. 包
什么是包???什么是模块???
一个py文件就是一个模块
包就是多个模块功能的结合体,
如何创建包
包和文件夹的区别,
包中有一个__init__.py文件
而文件夹中没有
"""
模块首次被导入发生了三件事
1.产生一个名称空间
2.执行被导入的py文件,把执行的数据丢到名称空间
3.执行文件中产生一个变量,指向这个名称空间。
"""
# 导入包其实就是导入__init__.py,文件名不要改
# 如何验证呢???
"""
包首次被导入发生三件事
1.产生包的名称空间
2.指向被导入包下的__init__.py文件,然后把执行的数据丢到包的名称空间
3.执行文件总产生一个变量aaa指向这个包的名称空间
"""
# 导入文件的点和指向文件的点一样么
# 导入语句的点就是 路径
# 指向语句的点就是 在名称空间取值
2. ATM项目讲解
1. 开发项目的模式
# 瀑布模式
项目开发完成之后,一并提测
禅道系统bug
# 敏捷开发
开发一个功能,测试一个功能
ATM使用瀑布模式
1.需求分析
(甲方or运营销售-->产品经理)
模拟实现一个ATM+购物商城程序
"""
额度 15000或自定义
实现购物商城,买东西加入购物车,调用信用卡接口结账
可以提现,手续费5%
支持多账户登录
支持账户间转账
记录每月日常消费流水
提供还款接口(函数,充值)
ATM记录操作日志
提供管理接口,包括添加账户,用户额度,冻结账户(登录几次锁定)等...
用户认证用装饰器
"""
2.程序设计后者架构设计
需求转为功能
1.注册
2.登录
3.转账
4.提现
5.充值还款
6.查看余额
7.查看流水
8.加入购物车
9.查看购物车
# 软件开发目录规范
bin
start.py
core
主要逻辑
...
conf
settings.py
db
lib
common.py
log
log.log
interface
接口
bank.py(转账等)
user.py(注册登录)
shopping.py
readme
3.分任务,分模块开发
4.测试
5.上线
校验
一个用户名单独存一个文件
文件名直接使用用户名作为文件名
(⊙o⊙)?
# 验证用户名是否存在,其实验证的是
# 文件
locked:false
全局变量
user_status = {
'username': None,
'is_login': False
}
登录认证装饰器
充值功能
浙公网安备 33010602011771号