Discuss / Python / 还没达到目标。。

还没达到目标。。

Topic source

少虾

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

def beforelog(text1='call', text2='callend'): import functools if isinstance(text1, str) and isinstance(text2, str): def decorator(func): @functools.wraps(func) def wrapper(args, **kw): print("%s %s():" % (text1, func.name)) re = func(args, **kw) print("%s() %s:" % (func.__name, text2)) return re return wrapper return decorator

@before_log() def now1(old_time): import time print("now time: %s" % time.strftime("%Y-%m-%d", time.localtime(time.time())))

now("2014-8-7")

@before_log('execute') def now2(old_time): import time print("now time: %s" % time.strftime("%Y-%m-%d", time.localtime(time.time())))

不传参时,有个括号before_log()。。

pdo_obq

#2 Created at ... [Delete] [Delete and Lock User]
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import functools

def log(f):
    if hasattr(f, '__call__'):
        @functools.wraps(f)
        def wrapper(*args, **kw):
            print('call %s():' % f.__name__)
            return f(*args, **kw)
        return wrapper
    else:
        def decorator(func):
            @functools.wraps(func)
            def wrapper(*args, **kw):
                print('%s %s():' % (f, func.__name__))
                return func(*args, **kw)
            return wrapper
        return decorator

@log
def now():
    print('2015-3-25')
now()

@log('DEBUG')
def today():
    print('2015-3-25')
today()
print(today.__name__)

  • 1

Reply