gpt4 book ai didi

python - 如何创建返回 `True` 的匿名函数?

转载 作者:太空宇宙 更新时间:2023-11-04 10:17:42 24 4
gpt4 key购买 nike

我有一些代码只有在连接了特定的硬件设备时才会运行。在调试时我想放弃这个限制。

我尝试用一​​个只返回 True 的匿名函数临时替换检查硬件是否已连接的函数来做到这一点:

import drm

def OnStartButton(self, evt):
# Don't check for dongle in debug mode.
if Globals.DEBUG:
# Store the original function so we can reassign it later.
func_store = drm.is_dongle_attached
drm.is_dongle_attached = lambda x: return True
if drm.is_dongle_attached():
do_some_stuff()
if Globals.DEBUG:
# Reassign function back to the original.
drm.is_dongle_attached = func_store

但是,这似乎不是一个合法的结构,因为我在网上收到了一个SyntaxError:

drm.is_dongle_attached = lambda x: return True
^

最佳答案

您不能在 lambda 函数中使用 return 语句。实际上,您只能在其中使用表达式。所以,简单地做

lambda x: True

引用 official documentation ,

functions created with lambda expressions cannot contain statements.


实际上,在您的情况下,您调用 is_dongle_attached 时没有任何参数。因此,您需要定义不带参数的 lambda 函数,如下所示

drm.is_dongle_attached = lambda: True

关于python - 如何创建返回 `True` 的匿名函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34393550/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com