summaryrefslogtreecommitdiff
path: root/PYTHON/ОТЛАДКА КОДА.md
blob: df19336808c9d66698be2c932189984b48db53b1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
🖥 **Как отлаживать Python-код, не выходя из редактора — с помощью встроенного модуля** pdb**.**

Часто, когда код не работает как надо, мы начинаем закидывать print()-ами. Но это неудобно, медленно и мусорит код. Вместо этого вставь в нужное место строчку:

```python
import pdb; pdb.set_trace()
```
Когда выполнение дойдет до этой строки, ты попадешь в интерактивную консоль отладчика прямо в терминале. Дальше можно:

- n (next) — перейти к следующей строке;
- s (step) — зайти внутрь функции;
- c (continue) — продолжить выполнение;
- l (list) — показать текущий контекст;
- p var — вывести значение переменной var.

```python
def calc(a, b):
    import pdb; pdb.set_trace()
    result = a + b
    return result

calc(2, 3)
```
На строке с ==`pdb.set_trace()`== ты остановишься и сможешь изучить, что происходит внутри.

Зачем это нужно?

- Понять, **почему что-то идет не так**.
- Посмотреть, **какие значения у переменных** прямо в момент ошибки.
- Быстро отладить **без запуска IDE** — удобно в Docker, SSH или при работе с cron.

Попробуй — один раз освоишь, и уже не захочешь возвращаться к print().