包&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号
浙公网安备 33010602011771号