作者回复: 是的应该为i_can_sleep函数名,感谢指正🙏
作者回复: 不行,实现装饰器必须要引入闭包这个功能(概念),装饰器实际是 外部函数名=外部函数名(内部函数名), 在外部函数的定义过程,内部函数必须在内存中装饰器才成立
作者回复: @timmer 执行了一次,timmer(i_can_sleep) 又执行了一次。 装饰器体现的是“定义时”装饰,不是“运行时”装饰。这个方面要多理解一下。
作者回复: stop_time和start_time都是一个时间戳,也就是执行那一刻记录了当前时间;sleep之后时间发生了改变,这里的减法就是统计时间变化的
作者回复: 函数名字不是固定的,但是这种调用方法是固定的
作者回复: 把lamda表达式整个通过return返回
如:
def a_line(a,b):
return lambda x: a*x+b
作者回复: 装饰器函数的return处有错误,需要重新理解闭包的概念