【发布时间】:2021-10-22 19:49:12
【问题描述】:
我想创建一个带有一个字符串参数的函数。此函数应返回一个匿名函数,该函数检查函数参数是否等于外部函数的参数。但是我不明白如何获取外部函数的参数。
def create(arg):
outer =
return lambda a: outer == arg
firstValue = create("secret")
print(firstValue("secret")) # >> True
print(firstValue("SECRET")) # >> False
【问题讨论】:
-
你只想要
def create(arg): return lambda a: a == arg -
不需要
outer,我很确定您只是指lambda的参数,即。a...您对“外部函数”术语的使用在这里令人困惑 -
参数只是一个由函数调用本身初始化的局部变量,而不是通过函数体中的显式赋值。
-
你为什么不使用
a参数呢? -
你不小心做了正确的事:你在匿名函数的主体中使用了
arg。 (我怀疑你在想lambda a: outer == a。)