Discuss / Python / 交作业学习

交作业学习

Topic source

ssaltt

#1 Created at ... [Delete] [Delete and Lock User]

第一个

import time,functools
def metric(fn):
    @functools.wraps(fn)
    def wrapper(*args,**kw):
        start_time=time.time()
        execute=fn(*args,**kw)
        end_time=time.time()
        print('%s executed in %s ms' %(fn.__name__,end_time-start_time))
        return execute
    return wrapper

第二个

import time,functools
def log(fn):
    @functools.wraps(fn)
    def wrapper(*args,**kw):
        print('begin call')
        fn(*args,**kw)
        print('end call')
    return wrapper

@log 
def show():
    print('I LOVE YOU')

第三个

import time,functools
def log(fn):
    if isinstance(text,str):
        def decorator(func):
            @functools.wraps(fn)
            def wrapper(*args,**kw):
                print('%s %s:' %(text,func.__name__))
                return fnc(*args,**kw)
            return wrapper
    else:
        def wrapper(*args, **kw):
            print('call %s():' % text.__name__)
            return text(*args, **kw)
        return wrapper

ssaltt

#2 Created at ... [Delete] [Delete and Lock User]

第三个修改

import time,functools
def log(text):
    if isinstance(text,str):
        def decorator(func):
            @functools.wraps(fn)
            def wrapper(*args,**kw):
                print('%s %s:' %(text,func.__name__))
                return fnc(*args,**kw)
            return wrapper
        return decorator
    else:
        def wrapper(*args, **kw):
            print('call %s():' % text.__name__)#留个疑问?
            return text(*args, **kw)
        return wrapper

  • 1

Reply