Python如何获取外层函数参数?实现返回参数判断匿名函数的需求
你不需要额外定义outer变量,Python的闭包特性支持内部函数直接访问外层函数的参数与变量,调整为以下代码即可实现需求:
def create(arg): return lambda a: a == arg firstValue = create("secret") print(firstValue("secret")) # >> True print(firstValue("SECRET")) # >> False
实现逻辑说明
- 调用
create("secret")时,参数arg会被绑定为字符串"secret",返回的匿名函数会保留对该arg的引用,不会随create函数执行结束被销毁 - 后续调用返回的匿名函数时,会将新传入的参数和预先绑定的
arg做大小写敏感的相等性判断,因此"SECRET"和"secret"的判断结果为False
内容的提问来源于stack exchange,提问作者self
相关产品推荐
相关产品推荐

