def logBoth(arg): if isinstance(arg,str):#传入的是字符串 def decorator(func): def wrapper(*args,**kw): print(arg," before call") func(*args,**kw) print(arg,' end call') return wrapper return decorator else:#传入的是函数名 def wrapper(*args,**kw): print("before call") arg(*args,**kw) print("end call") return wrapper @logBoth('xixi') def now(): print("in now() ...2015-06-15") now() @logBoth#logBoth(now)() def now(): print("in now() ...2015-06-15") now()
有个疑问:定义的wrapper函数里没有return语句也可以呀,这样合法么?
Sign in to make a reply
拉擦擦啊粒打打
有个疑问:定义的wrapper函数里没有return语句也可以呀,这样合法么?