Pular para o conteúdo

Como corrigir o erro de sintaxe: syntaxerror: invalid syntax

CodeMDD.io

Syntaxerror: invalid syntax

Python é conhecido por sua sintaxe simples. No entanto, quando você está aprendendo Python pela primeira vez ou quando tem um bom conhecimento em outra linguagem de programação, pode encontrar coisas que Python não permite. Se você já recebeu uma SyntaxError ao tentar executar seu código Python, este guia pode ajudá-lo. Ao longo deste tutorial, você verá exemplos comuns de sintaxe inválida em Python e aprenderá como resolver o problema.

Invalid Syntax in Python

Quando você executa seu código python, o interpretador primeiro o analisará para convertê-lo em bytecode Python, que será então executado. O interpretador encontrará qualquer sintaxe inválida no Python durante essa primeira etapa da execução do programa, também conhecida como “fase de análise”. Se o interpretador não conseguir analisar seu código Python com sucesso, isso significa que você usou uma sintaxe inválida em algum lugar do seu código. O interpretador tentará mostrar onde ocorreu esse erro.

Quando você está aprendendo Python pela primeira vez, pode ser frustrante encontrar um SyntaxError. O Python tentará ajudá-lo a determinar onde está a sintaxe inválida no seu código, mas o traceback (rastreamento) que ele fornece pode ser um pouco confuso. Às vezes, o código para o qual ele aponta está perfeitamente correto.

Você não pode lidar com sintaxe inválida em Python como outras exceções. Mesmo que você tente envolver um bloco “try” e “except” ao redor do código com sintaxe inválida, você ainda verá o interpretador gerar um SyntaxError.

Exceção SyntaxError e traceback

Quando o interpretador encontra uma sintaxe inválida no código Python, ele gera uma exceção SyntaxError e fornece um traceback com algumas informações úteis para ajudar você a depurar o erro. Aqui está um código que contém sintaxe inválida em Python:

theofficefacts.py
ages = {
'pam': 24,
'jim': 24
'michael': 43
}
print(f'Michael is {ages["michael"]} years old.')

Você pode ver a sintaxe inválida literal do dicionário na linha 4. A segunda entrada, 'jim', está faltando uma vírgula. Se você tentar executar este código como está, receberá o seguinte traceback:

File "theofficefacts.py", line 5
'michael': 43
^
SyntaxError: invalid syntax

O traceback mostra a linha onde o erro ocorreu, mostrando também o trecho de código relevante que contém o erro de sintaxe. O texto “invalid syntax” fornece uma breve descrição do tipo de erro.

Existem várias razões pelas quais você pode encontrar um SyntaxError ao escrever código Python. A seguir, vamos dar uma olhada em alguns problemas de sintaxe comuns que você pode encontrar e como resolvê-los.

Problemas comuns de sintaxe

Utilizando o operador de atribuição (=) incorretamente

O operador de atribuição (=) é utilizado para atribuir um valor a uma variável. No entanto, é comum cometer erros ao usá-lo:

x = 10
y = 20
z = x y # Erro de sintaxe, falta o operador de atribuição

Nesse exemplo, a linha z = x y contém um erro de sintaxe porque falta o operador de atribuição entre as variáveis x e y. Para corrigir o erro, é necessário adicionar o operador de atribuição:

z = x + y

Ortografia errada, ausência ou uso incorreto de palavras-chave do Python

Python possui palavras-chave reservadas que têm uma função específica na linguagem. Utilizar essas palavras incorretamente ou cometer erros de ortografia pode resultar em um SyntaxError. Por exemplo:

if Tru: # Erro de sintaxe, a palavra-chave correta é True (com "e" no final)
print("This statement will be executed.")

Neste exemplo, a palavra-chave Tru está escrita incorretamente, faltando a letra “e” no final. Para corrigir o erro, basta substituir Tru por True:

if True:
print("This statement will be executed.")

Faltando parênteses, colchetes e aspas

Outro erro comum de sintaxe em Python ocorre quando você esquece de fechar parênteses, colchetes ou aspas. Por exemplo:

my_list = [1, 2, 3
print(my_list) # Erro de sintaxe, falta fechar o colchete

Neste exemplo, o erro ocorre porque o colchete à direita não foi fechado no final da linha 2. Para corrigir o erro, basta adicionar o colchete de fechamento:

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

Equívoco na sintaxe de dicionário

Os dicionários em Python são estruturas de dados que armazenam pares de chave-valor. É comum cometer erros ao definir a sintaxe de um dicionário. Por exemplo:

person = {'name': 'John', 'age': 30 'city': 'New York'} # Erro de sintaxe, falta uma vírgula

Neste exemplo, a vírgula está faltando após a entrada 'age': 30. Para corrigir o erro, basta adicionar a vírgula:

person = {'name': 'John', 'age': 30, 'city': 'New York'}

Utilizando a indentação incorreta

Python utiliza indentação para definir blocos de código. É importante utilizar a indentação correta para evitar erros de sintaxe. Por exemplo:

if True:
print("This statement will be executed.") # Erro de sintaxe, falta a indentação

Neste exemplo, o erro ocorre porque a linha 2 está sem a indentação correta. Dentro de um bloco de código, como o bloco de um if, você precisa adicionar uma indentação. Para corrigir o erro, basta adicionar a indentação correta:

if True:
print("This statement will be executed.")

Definindo e chamando funções

A definição e chamada de funções em Python envolve uma sintaxe específica. Erros de sintaxe podem ocorrer se você não seguir corretamente essa sintaxe. Por exemplo:

def say_hello(name)
print(f"Hello, {name}!") # Erro de sintaxe, falta dois pontos e a indentação

Neste exemplo, a função say_hello está com um erro de sintaxe porque falta os dois pontos após a declaração e a indentação correta para o bloco de código. Para corrigir o erro, é necessário adicionar os dois pontos e a indentação correta:

def say_hello(name):
print(f"Hello, {name}!")

Mudança de versões do Python

Python tem várias versões disponíveis, e algumas sintaxes podem diferir entre essas versões. Ao migrar um código de uma versão mais antiga para uma versão mais recente, pode ser necessário fazer alterações na sintaxe. Por exemplo, no Python 3, o comando print é uma função que requer parênteses, enquanto no Python 2, ele é uma declaração que não requer parênteses. Portanto, se você tem um código escrito em Python 2 que utiliza print sem parênteses e tenta executá-lo em uma versão do Python 3, ele gerará um SyntaxError.

Conclusão

Ao escrever código Python, é comum cometer erros de sintaxe. Ao encontrar um SyntaxError, o interpretador fornecerá informações úteis por meio de um traceback para ajudar você a identificar o erro. Neste tutorial, você aprendeu sobre os diferentes problemas de sintaxe comuns em Python, juntamente com exemplos e como resolvê-los.

Para evitar SyntaxErrors em seu código Python, é sempre bom estar ciente das regras de sintaxe e ler atentamente os erros apresentados pelo interpretador. Com a prática, você se tornará mais familiarizado com a sintaxe correta do Python e será capaz de identificar e corrigir problemas de sintaxe com mais facilidade.