python 绕过对象链接中的 Lambda 函数



我了解它是如何工作的,但是在这种情况下,我如何才能将python打印为真和假?

def f(func, value):
global a
a = 2
print(func(value))
a = 3
f(lambda x: x == a, 3)
f(lambda x: x == a, 2)

如果您的目标是让代码检查您最初声明的a的值(即 3(,以便它打印True;False而不是相反,只是不要在函数中将a设置为 2:

def f(func, value):
print(func(value))
a = 3
f(lambda x: x == a, 3)
f(lambda x: x == a, 2)

通常不建议使用global,因为它很容易因值以意外方式更改而混淆自己。

最新更新