pt
English
Español
中國人
Tiếng Việt
Deutsch
Українська
Français
भारतीय
Türkçe
한국인
Italiano
Gaeilge
اردو
Indonesia
Polski Cada linguagem de programação tem um conjunto de regras ou gramática que segue. Quebrar estas regras resulta naquilo a que chamamos erros de sintaxe python, que podem fazer com que o teu código falhe. Estes problemas acontecem a toda a gente - quer esteja apenas a começar, quer já esteja a programar há anos. Se alguma vez te perguntaste "o que são erros de sintaxe em Python?". Este artigo cobre os mais comuns e explica como corrigi-los enquanto está a programar.
Quando ocorre um erro de sintaxe em Python, ele fornece uma mensagem que aponta para o problema. Esta mensagem normalmente inclui:
Vamos dar uma olhadela aos erros de sintaxe comuns em Python que os programadores encontram frequentemente.
Um dos erros mais comuns que os principiantes cometem é esquecerem-se de fechar os parênteses. Isto é especialmente comum em chamadas de funções e estruturas aninhadas.
Exemplo:
print("Hello, World!"
Mensagem de problema:
Fixar:
Certifique-se de que todos os parênteses estão corretamente fechados.
print("Hello, World!")
A indentação especifica os blocos do código. Podem surgir erros de sintaxe Python se houver um problema com a indentação.
Exemplo:
def greet():
print("Hello, World!")
Mensagem de emissão:
Fixar:
Indentar corretamente o bloco de código.
def greet():
print("Hello, World!")
Esquecer-se de colocar vírgulas entre elementos de listas ou dicionários é outro erro frequente.
Exemplo:
fruits = {"type": "sweert" "name": "orange"}
Mensagem de problema:
Fixar:
Acrescentar a vírgula em falta entre "sweert" e "name".
fruits = {"type": "sweert", "name": "orange"}
A utilização incorrecta destas palavras-chave também pode resultar em problemas de sintaxe. As palavras-chave são palavras reservadas que têm um significado especial.
Exemplo:
class = "Beginner"
Mensagem de emissão:
Fixar:
Escolha um nome diferente que não seja uma palavra-chave reservada.
level = "Beginner"
Os nomes das variáveis devem respeitar regras específicas. A utilização de nomes de variáveis ilegais, tais como começar com um número ou conter espaços, resulta em erros de sintaxe Python.
Exemplo:
2name = "John"
Mensagem de problema:
Fixar:
Utilizar um nome de variável válido.
name2 = "John"
As cadeias de caracteres devem ser colocadas entre aspas correspondentes. Esquecer-se de fechar uma cadeia de caracteres resulta num problema de sintaxe.
Exemplo:
message = "Hello, World!
Mensagem de problema:
Fixar:
Certifique-se de que a cadeia de caracteres é fechada com o mesmo tipo de aspas.
message = "Hello, World!"
Pode ocorrer um problema de sintaxe se faltarem dois pontos (:) no final de uma instrução condicional composta, como if, for, while ou def.
Exemplo:
def greet()
print("Hello, World!")
Mensagem de problema:
Fixar:
Acrescentar dois pontos no final da expressão composta.
def greet():
print("Hello, World!")
A utilização incorrecta de operadores pode causar erros de sintaxe Python. Isto inclui operadores de atribuição e operadores de comparação.
Exemplo:
if x = 10:
print("x is 10")
Mensagem de problema:
Fixar:
Utilizar o operador de comparação correto.
if x == 10:
print("x is 10")
Consideremos um script simples de raspagem da Web que encontra quaisquer erros e ajuda a compreender como corrigir erros de sintaxe no depurador incorporado em python, 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 problema:
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)
Utilizar o pdb para depurar:
Adicione a seguinte linha antes do loop para iniciar o depurador.
import pdb; pdb.set_trace()
Adicionar código de blackout com marcas de quebra:
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:
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
Com o pdb, pode percorrer continuamente o seu programa, observar os valores de diferentes variáveis e compreender como o código é executado, permitindo a rápida deteção e correção de problemas.
Utilizando o pdb, pode percorrer o seu programa, verificar os valores de variáveis importantes e seguir o fluxo de controlo para localizar erros e erros lógicos. Problemas como a divisão por zero, o acesso a itens fora do intervalo numa lista ou a utilização de variáveis indefinidas são problemas comuns que podem ser detectados desta forma.
Exemplo:
numbers = [1, 2, 3]
print(numbers[3])
Mensagem de problema:
Fixar:
Certificar-se de que está a aceder a índices de lista válidos.
print(numbers[2])
Os blocos Try-except permitem-lhe envolver o código que pode causar problemas. Ao detetar estes problemas, o seu programa pode continuar a funcionar sem problemas, mesmo que encontre erros de sintaxe no seu código.
Exemplo:
try:
result = 10 / 0
except ZeroDivisionError:
print("You can't divide by zero!")
Familiarizar-se com erros comuns e rever exemplos de erros de sintaxe em Python é algo que todos os programadores devem fazer. Quanto mais prestar atenção às mensagens de diagnóstico - e quanto mais rápido as corrigir - mais fácil será a execução do seu código. Utilize ferramentas e dicas que realmente apoiem o seu trabalho.
Comentários: 0