1. 程式人生 > >python使用裝飾器會改變被裝飾函式的函式名,如何去解決

python使用裝飾器會改變被裝飾函式的函式名,如何去解決

import functools # 使用自定義裝飾器會改變被裝飾的函式的函式名,解決方法: # 第一種 import functools  @functoool.wraps(func) # 第二種 cell_fun.__name__ = func.__name__ def set_fun(func):     # @functools.wraps(func)                     def cell_fun():         print('cell_fun')     cell_fun.__name__ = func.__name__     return cell_fun
@set_fun def a():     print('a run')      print(a.__name__)