Установите точку останова PyCharm в лямбда-функции Python - PullRequest
0 голосов
/ 27 февраля 2019

Я хочу отладить значения, переданные моей лямбда-функции в Python, в PyCharm.

Например, если у меня есть следующий код, я бы хотел установить точку останова внутри функции f, и сможет видеть значения a и b:

f = lambda a, b: a + b
f(1, 2)

Однако, если я установлю точку останова в первой строке, она сломается только при определении лямбдыа не когда он вызывается.

Моя версия 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

1 Ответ

0 голосов
/ 27 февраля 2019

Точки останова Pycharm для каждой строки.Он должен сломаться как при определении лямбды, так и при ее вызове.Если вы хотите разбить только лямбда-тело, просто поместите его в собственную строку и разбейте в этой строке.

  f = lambda a, b: (
●      a + b
  )
  f(1, 2)

Вы также можете сделать точку останова условной для произвольного выражения Python.Что-то вроде

'a' in locals()

должно сработать в этом случае, даже если вы оставляете лямбду все на одной строке.Щелкните правой кнопкой мыши на красном круге для настройки точек останова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...