用法:
@functools.wraps(wrapped, assigned=WRAPPER_ASSIGNMENTS, updated=WRAPPER_UPDATES)
這是一個方便的函數,用於在定義包裝函數時調用
update_wrapper()
partial(update_wrapper, wrapped=wrapped, assigned=assigned, updated=updated)
。例如:>>> from functools import wraps >>> def my_decorator(f): ... @wraps(f) ... def wrapper(*args, **kwds): ... print('Calling decorated function') ... return f(*args, **kwds) ... return wrapper ... >>> @my_decorator ... def example(): ... """Docstring""" ... print('Called example function') ... >>> example() Calling decorated function Called example function >>> example.__name__ 'example' >>> example.__doc__ 'Docstring'
如果不使用此裝飾器工廠,示例函數的名稱將是
'wrapper'
,原始example()
的文檔字符串將丟失。
相關用法
- Python functools.wraps()用法及代碼示例
- Python functools.singledispatchmethod用法及代碼示例
- Python functools.singledispatch用法及代碼示例
- Python functools.partial用法及代碼示例
- Python functools.partialmethod用法及代碼示例
- Python functools.cache用法及代碼示例
- Python functools.lru_cache用法及代碼示例
- Python functools.reduce用法及代碼示例
- Python functools.cached_property用法及代碼示例
- Python functools.total_ordering用法及代碼示例
- Python NumPy full方法用法及代碼示例
- Python NumPy full_like方法用法及代碼示例
- Python NumPy fliplr方法用法及代碼示例
- Python dict fromkeys()用法及代碼示例
- Python frexp()用法及代碼示例
- Python BeautifulSoup find_next方法用法及代碼示例
- Python NumPy floor方法用法及代碼示例
- Python float轉exponential用法及代碼示例
- Python calendar firstweekday()用法及代碼示例
- Python NumPy flatten方法用法及代碼示例
- Python float.is_integer用法及代碼示例
- Python Django format_lazy用法及代碼示例
- Python format()用法及代碼示例
- Python NumPy fill_diagonal方法用法及代碼示例
注:本文由純淨天空篩選整理自python.org大神的英文原創作品 functools.wraps。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。