【发布时间】:2015-11-21 00:11:38
【问题描述】:
这个问题涉及 Python 3。 有没有办法让装饰器将返回值打印到任何函数?这个问题Decorator to print function call details - parameters names and effective values 将打印您传递给函数的所有值。有没有办法制作一个装饰器来打印函数返回的任何值,无论它返回单个值还是多个值?
如果你要运行这个:
multiply(subtract(add(1,2),add(3,4)),9)
使用@superecho 装饰的所有函数都会记录:
function call add() 1,2
function add() returns 3
function call add() 3,4
function add() returns 7
function call subtract() 3 7
function subtract() returns -4
function call multiply() -4 9
function multiply() returns -36
【问题讨论】:
标签: python-3.x return decorator