python - python绕过对象链接中的Lambda函数
问题描述
我了解它是如何工作的,但是在这种情况下我怎么能做到 python 打印 true 和 false 呢?)
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
,因为它很容易让值以意想不到的方式发生变化而使自己感到困惑。
推荐阅读
- javascript - 当方法不返回任何内容时,然后不是函数 - Javascript
- python - 如何在用户输入中使用 3 个预先确定的单词来打印预先确定的响应
- python - 如何在将函数应用于两列时保留我的熊猫数据框的其他列
- laravel - 在 Laravel >=5.6 中获取 `LoggerInterface` 实例(替换为 `Log::getMonolog()`)?
- azure-functions - Azure Functions 存储帐户不同于队列
- wordpress - Wordpress 使用 PHP 有条件地隐藏或禁用评论框
- loops - 遍历元素从 1 到 n 小于 O(n)
- docusignapi - Docusign Gen for Salesforce 的模板 ID
- vb.net - 如何复制 Windows 资源管理器中的选定文件?
- c - CHS 记录读取气缸