为了账号安全,请及时绑定邮箱和手机立即绑定

参数的问题 不太理解

def set_passline(passline):
def cmp(val):
if val>=passline:
   print('pass')
else:
   print('failed')
return cmp

func_100=set_passline(60)
func_150=set_passline(90)
func_100(89)
func_150(89)


func_100(89) 这个89的参数是指的val变量么   

正在回答

1 回答

是的,执行 "func_100=set_passline(60)"的时候, 把60赋给set_passline函数的变量passline,在且内部函数cmp引用了外部变量passline,此时cmp.__closure__加上了passline变量的地址。执行完set_passline将cmp函数的地址赋给func_100, 所以func_100实际上就是内部函数cmp

2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python装饰器
  • 参与学习       50142    人
  • 解答问题       50    个

本门python教程将代领大家轻松搞定Python装饰器运用

进入课程

参数的问题 不太理解

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信