def can_play(clock):
print('最外层函数被调用了,clock = {}'.format(clock))
def handle_action(fn):
print('handle_action被调用了')
def do_action(name,game):
if clock < 21:
fn(name,game)
else:
print('太晚了,早点睡')
return do_action
return handle_action
@can_play(20) # 装饰器函数带参数
def play_game(name,game):
print(name + '正在玩' + game)
play_game('张三','王者荣耀')
结果
最外层函数被调用了,clock = 20
handle_action被调用了
张三正在玩王者荣耀
Process finished with exit code 0