<jupyter_start><jupyter_text>Python DebuggerVocê provavelmente usou uma variedade de instruções de impressão para tentar encontrar erros em seu código. Uma maneira melhor de fazer isso é usando o módulo de depuração incorporado do Python (pdb). O módulo pdb implementa um ambiente de depuração interativo para programas Python. Ele inclui recursos para permitir que você pause seu programa, veja os valores das variáveis e assista a execução do programa passo a passo, para que você possa entender o que o seu programa realmente faz e encontrar erros na lógica.Isso é um pouco difícil de mostrar, uma vez que requer criar um erro de propósito, mas espero que este exemplo simples ilustre o poder do módulo pdb. * Nota: tenha em mente que seria bastante incomum usar o pdb em uma configuração do iPython Notebook. *___Aqui vamos criar um erro de propósito, tentando adicionar uma lista a um número inteiro<jupyter_code>x = [1,3,4]
y = 2
z = 3

result = y + z
print(result)
result2 = y+x
print(result2)<jupyter_output>5<jupyter_text>Hmmm, parece que temos um erro! Vamos implementar um set_trace() usando o módulo pdb. Isso nos permitirá basicamente pausar o código no ponto do rastreamento e verificar se algo está errado.<jupyter_code>import pdb

x = [1,3,4]
y = 2
z = 3

result = y + z
print result

# Usa o método set_trace() para pausar o código neste ponto.
pdb.set_trace()

result2 = y+x
print result2<jupyter_output>5
--Return--
> <ipython-input-4-0a2880872cf0>(11)<module>()->None
-> pdb.set_trace()
(Pdb) x
[1, 3, 4]
(Pdb) y
2
(Pdb) z
3
(Pdb) x+y
*** TypeError: can only concatenate list (not "int") to list
(Pdb) q
{'fraction_non_alphanumeric': 0.07085643869377696, 'fraction_numerical': 0.02033271719038817, 'mean_word_length': 4.738515901060071, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 12, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '2', 'dir': 'jupyter-structured-clean-dedup', 'id': '641245', 'license': 'Apache-2.0', 'n_tokens_mistral': 616, 'n_tokens_neox': 602, 'n_words': 241, 'path': 'Python/Python-Completo/Python Completo/Notebooks Traduzidos/Python Debugger (pdb).ipynb', 'repo_name': 'Enp256/udemy', 'size': '1623'}