# 自定义装饰器,要求被装饰函数有一个int类型的参数,如果该参数<=10,则执行原函数,否则打印“参数错误”
def outer(func):
def inner(n):
if n <= 10:
func(n)
else:
print("参数错误")
return inner
@outer
def show(n):
print("原函数")
show(5)
如果考虑不周全可以一步一步慢慢来完成
一.先定义一个最简单的闭包
- 闭包的三个条件
- 在函数嵌套(函数里面再定义一个函数)的前提下
- 内函数使用了外函数的变量(包括外函数的参数)
- 外函数返回了内函数
二. 再根据题目写 if 语句
三. 再定义一个函数,并给它给予装饰,最后调用show函数