我想在Python中调试传递给我的lambda函数的值,在PyCharm中。
例如,如果我有以下代码,我希望能够在函数f
中设置断点,并能够看到a
和b
的值:
f = lambda a, b: a + b
f(1, 2)
但是,如果我在第一行设置断点,它只会在定义lambda时断开,而不是在调用它时断开。
我的PyCharm版本是:
PyCharm 2018.3.3 (Professional Edition)
Build #PY-183.5153.39, built on January 10, 2019
Licensed to Michael Milton
Subscription is active until October 4, 2019
For educational use only.
JRE: 1.8.0_152-release-1343-b26 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Linux 4.15.0-45-generic
Pycharm的断点是每行。它应该在定义lambda和调用lambda时中断。如果你只想在lambda体内部进行破坏,只需将它放在自己的线上并在该线上断开即可。
f = lambda a, b: (
● a + b
)
f(1, 2)
您还可以根据任意Python表达式创建断点。就像是
'a' in locals()
在这种情况下应该做的伎俩,即使你将lambda全部放在一行上。右键单击红色圆圈以进行断点设置。