• python 装饰器


     什么是装饰器?
    # 为什么要有装饰器
    # 为什么不能改变原函数的调用方式
    # 开放封闭原则
    # 我们提前写好一个功能,让别人使用的时候能够直接使用就能完成相应的功能

    # 登录
    # 计算函数的执行时间

    # 写了很多的函数
    # 添加日志 : 在 时间 调用了什么函数
    import time
    def logger(path):
    def log(func):
    def inner(*args,**kwargs):
    ret = func(*args,**kwargs)
    with open(path,mode='a',encoding='utf-8') as f:
    msg = '%s 执行了%s'%(time.strftime('%Y-%m-%d %H:%M:%S'),func.__name__)
    f.write(msg)
    return ret
    return inner
    return log

    @logger('auth.log')
    def login():
    print('登录的逻辑')

    @logger('auth.log')
    def register():
    print('注册的逻辑')

    @logger('auth.log') # ret = log('auth.log') show_goods = ret(show_goods)
    def show_goods():
    print('查看所有商品信息')

    @logger('buy.log')
    def add_goods():
    print('商品加入购物车')

    # 登录和注册的信息 写到auth.log文件里
    # 所有的购物信息 写到operate.log文件里

    login()
    add_goods()
    show_goods()
  • 相关阅读:
    Linux 技巧:让进程在后台可靠运行的几种方法
    caffe 中的的参数
    adaboost+svm
    [caffe] 数据制作和训练
    [caffe] 安装及使用注意
    [算法] POJ1007
    vim 配置
    [触觉]数据集
    [theano]安装-python theano cuda
    博客迁移
  • 原文地址:https://www.cnblogs.com/shaohuagu/p/12264971.html
Copyright © 2020-2023  润新知