def dec(f): n = 3 def wrapper(*args,**kw): return f(*args,**kw) * n return wrapper @dec def foo(n): return n * 2
时间: 2023-09-10 21:14:12 浏览: 100
这是一个装饰器的例子,装饰器接受一个函数作为参数,返回一个新的函数,新函数可以在原函数执行前后添加额外的功能。在这个例子中,装饰器`dec`将原函数`foo`的返回值乘以3,相当于将原函数的功能进行了扩展。当我们调用`foo`函数时,实际上是调用了被装饰过后的函数`wrapper`,所以`foo(2)`的返回值是6。
阅读全文