Compreender e corrigir erros de sintaxe comuns em Python

Comentários: 0

Como qualquer linguagem de programação, Python tem o seu próprio conjunto de regras. Se estas regras não forem seguidas, o código torna-se incompreensível para o intérprete, dando origem a erros de sintaxe. Estes erros são problemas comuns que tanto os programadores principiantes como os experientes encontram. O artigo discute os erros mais frequentes em Python e fornece métodos para os corrigir durante o processo de programação.

Erros comuns de Python e correções

Quando ocorre um erro de sintaxe, o Python fornece uma mensagem de erro que aponta para o problema. Essa mensagem normalmente inclui:

  • O nome do arquivo e o número da linha onde o erro ocorreu.
  • A linha específica do código que está causando o erro.
  • Um acento circunflexo (^) apontando para o ponto exato onde o interpretador ficou confuso.
  • Uma descrição do erro que indica a natureza do problema.

Parênteses ausentes ou incompatíveis

Um dos erros mais comuns que os iniciantes em Python cometem é esquecer de fechar parênteses. Isso é especialmente comum em chamadas de funções e estruturas aninhadas.

Exemplo:

print("Hello, World!"

Mensagem de erro Python:

1.png

Fixar:

Certifique-se de que todos os parênteses estão corretamente fechados.

print("Hello, World!")

Erros de indentação em Python

O Python baseia-se na indentação para definir blocos de código. A indentação incorrecta pode levar a erros de sintaxe.

Exemplo:

def greet():
print("Hello, World!")

Mensagem de erro Python:

2.png

Fixar:

Indentar corretamente o bloco de código.

def greet():
    print("Hello, World!")

Erros de pontuação em falta em listas ou dicionários

Esquecer-se de incluir vírgulas entre elementos em listas ou dicionários é outro erro frequente.

Exemplo:

fruits = {"type": "sweert" "name": "orange"}

Mensagem de erro do Python:

3.png

Fixar:

Adicionar a vírgula em falta entre "sweert" e "name".

fruits = {"type": "sweert", "name": "orange"}

Palavras-chave reservadas do Python mal utilizadas

Usar palavras-chave reservadas do Python de forma incorrecta também pode resultar em erros de sintaxe. Palavras-chave são palavras reservadas que têm significados especiais.

Exemplo:

class = "Beginner"

Mensagem de erro do Python:

4.png

Fixar:

Escolha um nome diferente que não seja uma palavra-chave reservada.

level = "Beginner"

Nomes de variáveis ilegais

Os nomes de variáveis devem obedecer a regras específicas. O uso de nomes de variáveis ilegais, como começar com um número ou conter espaços, resulta em erros de sintaxe.

Exemplo:

2name = "John"

Mensagem de erro Python:

5.png

Fixar:

Utilizar um nome de variável válido.

name2 = "John"

Cordas não fechadas

As cadeias de caracteres devem ser fechadas entre aspas correspondentes. Esquecer de fechar uma string resulta em um erro de sintaxe.

Exemplo:

message = "Hello, World!

Mensagem de erro do Python:

6.png

Fixar:

Certifique-se de que a cadeia de caracteres é fechada com o mesmo tipo de aspas.

message = "Hello, World!"

Falta de dois pontos em declarações compostas

Esquecer de adicionar dois pontos (:) no final de instruções compostas como if, for, while e def pode levar a erros de sintaxe.

Exemplo:

def greet()
    print("Hello, World!")

Mensagem de erro do Python:

7.png

Fixar:

Acrescentar dois pontos no final da expressão composta.

def greet():
    print("Hello, World!")

Operador de atribuição Python mal colocado

A utilização incorrecta de operadores pode causar erros de sintaxe. Isto inclui operadores de atribuição e operadores de comparação.

Exemplo:

if x = 10:
    print("x is 10")

Mensagem de erro Python:

8.png

Fixar:

Utilizar o operador de comparação correto.

if x == 10:
    print("x is 10")

Dicas para evitar erros comuns em Python

  1. Use um editor de código para Python: ferramentas como PyCharm, VS Code ou Jupyter Notebook destacam erros de sintaxe à medida que você digita, tornando-os mais fáceis de detetar e corrigir.
  2. Escreva e teste o código de forma incremental: execute regularmente seu código em pequenos pedaços para detetar erros antecipadamente.
  3. Indentação consistente: use espaços ou tabulações de forma consistente para evitar confusão e erros.
  4. Use ferramentas de linting Python: use linters como pylint ou flake8 para analisar seu código em busca de possíveis erros e impor padrões de codificação.
  5. Referir-se à documentação: mantenha a documentação oficial do Python à mão para entender as regras e convenções de sintaxe.

Lidando com erros de sintaxe na prática

Vamos considerar um simples script de raspagem da web que encontra um erro de sintaxe e como depurá-lo usando o depurador embutido do Python, pdb.

Depurando um script de raspagem da web com pdb

Código original:

import requests
from bs4 import BeautifulSoup

url = "https://example.com"
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')

titles = soup.find_all("h1")
for title in titles
    print(title.text)

Mensagem de erro Python:

9.png

Fixar:

Adicione os dois pontos que faltam após o loop for.

import requests
from bs4 import BeautifulSoup

url = "https://example.com"
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')

titles = soup.find_all("h1")
for title in titles:
    print(title.text)

Usando o pdb para depurar:

Adicione a seguinte linha antes do loop para iniciar o depurador.

import pdb; pdb.set_trace()

Código modificado com ponto de interrupção:

import requests
from bs4 import BeautifulSoup

url = "https://example.com"
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')

titles = soup.find_all("h1")
import pdb; pdb.set_trace()
for title in titles:
    print(title.text)

Quando executar o script, o depurador pdb será iniciado no ponto de interrupção.

> /path/to/your/script.py(10)()
-> for title in titles:
(Pdb)

Comandos de depuração:

  • n (next): executa a próxima linha de código.
  • c (continue): continua a execução até o próximo ponto de interrupção.
  • p nome_da_variável: imprime o valor do nome_da_variável.

Exemplo de sessão:

(Pdb) n
> /path/to/your/script.py(11)()
-> print(title.text)
(Pdb) p titles
[<h1>Example Domain</h1>]
(Pdb) c
Example Domain

Ao usar o pdb, é possível percorrer o código, inspecionar variáveis e entender o fluxo de execução, facilitando a identificação e a correção de erros.

Evitando erros de tempo de execução do Python

Erros de interpretação resultam quando o processador é incapaz de entender seu código de forma abrangente, mas erros de tempo de execução ocorrem enquanto seu código está sendo executado. Divisão zero, tocando fora da matriz de escopo em uma lista, bem como contas de variáveis indefinidas para tais erros.

Exemplo:

numbers = [1, 2, 3]
print(numbers[3])

Mensagem de erro Python:

10.png

Fixar:

Certificar-se de que está a aceder a índices de lista válidos.

print(numbers[2])

Tratamento de excepções em Python

O tratamento de excepções permite que o seu programa continue a funcionar mesmo quando ocorre um erro. Use blocos try-except para capturar e tratar exceções.

Exemplo:

try:
    result = 10 / 0
except ZeroDivisionError:
    print("You can't divide by zero!")

Conclusão

Adquirir conhecimentos sobre os erros comuns e retificar erros na sintaxe Python é muito essencial para qualquer programador Python. Ler as mensagens de erro do Python e proceder às correcções subsequentes garante que se escreve um código melhor facilmente.Siga as ferramentas e orientações sugeridas.

Comentários:

0 Comentários