【发布时间】:2019-08-07 10:52:52
【问题描述】:
我必须编写一个装饰器def,它以validator def 作为参数。如果 validator 返回 true 它应该装饰 main 以执行一些代码,如果它返回 false 它应该打印一个错误。
我试图用 if 语句在装饰器中编写两个 def 以返回两个不同的 def,但它不起作用。
由于在线判断,功能和逻辑必须与我所说的完全一样(验证必须在装饰器之外完成)
这是一个例子:
#define decorator...
def validator(x):
return x>=0
@decorator(validator)
def f(x):
return x**0.5
print(f(4)) #should print 2
print(f(-4)) #should print error
【问题讨论】:
-
“我尝试在装饰器中编写两个 def 并使用 if 语句返回两个不同的 def,但它不起作用” - 请在帖子中包含您的尝试
-
功能和逻辑必须和我说的一模一样(因为在线判断)