购物商城作业

 

作业需求:  
模拟实现一个ATM + 购物商城程序
1.额度 15000或自定义
2.实现购物商城,买东西加入 购物车,调用信用卡接口结账
3.可以提现,手续费5%
4.支持多账户登录
5.支持账户间转账
6.记录每月日常消费流水
7.提供还款接口
8.ATM记录操作日志
9.提供管理接口,包括添加账户、用户额度,冻结账户等。。。
10.用户认证用装饰器 '''

总结:
1、本节模块是对前面学习的一个总结、练习过程红碰到的问题有:
变量的作用域问题:
方法内调用其他模块方法中的变量,方法内import。方法外import时,变量还没有赋值。
2、logging模块使用多个handler打印级别问题:
 1 #!/usr/bin/python3
 2 #coding:utf-8
 3 '''
 4 Created on 2018/3/19/019 13:39
 5 
 6 @author: 刘蒙华
 7 '''
 8 import os
 9 import logging
10 from atm.operation import user_now
11 basedir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))#取项目绝对路径
12 
13 atmlog_path = os.path.join(basedir,'docs','atm.log') #atm日志路径
14 userlog_path = os.path.join(basedir,'docs','%s.log'%user_now) #userlog日志路径
15 
16 '''logging.getLogger()括号内必须命名区分,不命名都为调用默认root实例'''
17 log_atm = logging.getLogger('atm')
18 log_atm.setLevel(logging.DEBUG)#给atm打印器设置显示等级
19 
20 log_user = logging.getLogger('user')
21 log_user.setLevel(logging.DEBUG)#给user打印器设置显示等级
22 
23 '''设置打印路径参数'''
24 fh1 = logging.FileHandler(atmlog_path)
25 fh2 = logging.FileHandler(userlog_path)
26 
27 '''设置格式化显示参数'''
28 formatter = logging.Formatter('%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s')
29 
30 '''参数赋给打印器'''
31 fh1.setFormatter(formatter)
32 fh2.setFormatter(formatter)
33 
34 log_atm.addHandler(fh1)
35 log_user.addHandler(fh2)
36 
37 '''待定路径参数的日志打印方法'''
38 def log_other(m):
39     m = os.path.join(basedir, 'docs', '%s.log' % m)
40     log_sender = logging.getLogger('%s'%m)
41     log_sender.setLevel(logging.DEBUG)
42     fh3 = logging.FileHandler(m)
43     fh3.setFormatter(formatter)
44     log_sender.addHandler(fh3)
45     return log_sender
View Code


3、剩下的就是各个模块的熟练使用、包括目录结果布局。加密模块、装饰器使用、配置文件使用等

作业上传

目录结构:


 


 

 
posted @ 2018-03-20 11:39  mengnan254  阅读(162)  评论(0)    收藏  举报