我了解它是如何工作的,但是在这种情况下,我如何才能将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
,因为它很容易因值以意外方式更改而混淆自己。