【发布时间】:2020-12-30 14:17:04
【问题描述】:
我有一个关于退回包装器的问题,为什么我必须退回它,我在哪里退回这个? 我知道当我返回包装器时,它会返回一个指针,但是在哪里以及原因是什么。我不应该在 deco 函数中调用它,比如 def deco(fun): ......... wrapper()。
import time
def deco(fun) :
def wrapper(*args) :
ba = time.time()
giden = fun(*args)
so = time.time()
print(f"{so-ba} saniye geçti")
return giden
return wrapper
@deco
def ortalama (liste):
t = 0
for i in liste:
t += i
return t
liste = list(range(0,10))
a = ortalama(liste)
print(a)
【问题讨论】:
-
在
def somefunc()之前添加@deco行“仅仅是语法糖”,相当于在遵循函数定义之后添加somefunc = deco(somefunc)——这就是原因。在线文档的glossary 中对其进行了简要描述。
标签: python