Discuss / Python / begin call end call 这个编码 对吗

begin call end call 这个编码 对吗

Topic source

宅男奔三

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

import functools def log(func): def wrapper(args, **kw): print('begin call %s():' % func.name) print (func(args, **kw)) return('end call %s().' % func.name) return wrapper

@log

def now(): return('2015-3-25') print(now())

不知道你的对不对,我的写法和你类似:

函数执行前后切入

def logbeforeend(func): def warpper(args,**kw): print("before call %s()"% func.name) func(args,**kw) print("end call %s()"% func.__name) return warpper

@log_before_end
def now(): print("in now() ...2015-06-15")

now()

不对,我试过了,没有end,return func。。之后貌似就不执行了。好难啊╮(╯▽╰)╭

AlWays_MU

#4 Created at ... [Delete] [Delete and Lock User]
def begin_end(text=None):
    def decorator(func):
        @functools.wraps(func)
        def wrapper(*args, **keys):
            print "Beginning....."
            func(*args, **keys)
            print "ending...."
        return wrapper
    return decorator

@begin_end()
def func_run():
    print "I'm a function, I'm running....."

  • 1

Reply