不理解舉例中的代碼執行情況
def log(prefix):
? ?def log_decorator(f):
? ? ? ?def wrapper(*args, **kw):
? ? ? ? ? ?print '[%s] %s()...' % (prefix, f.__name__)#不理解這個代碼塊的執行結果
? ? ? ? ? ?return f(*args, **kw)
? ? ? ?return wrapper
? ?return log_decorator
@log('DEBUG')
def test():
? ?pass
print test()
執行結果:[DEBUG] test()...
None#這個結果又是怎么來的
如上疑問,誠心求解。
2015-08-31
首先,我想說,請你把完整的代碼放上來,不要放這種存在錯誤的,不能執行的代碼。
第二,None 應該是你的print test()打印出來的,因為你的test()函數沒有定義返回值,所以返還了個None,也就打印了None