Comprendere e correggere i comuni errori di sintassi di Python

Commenti: 0

Come ogni linguaggio di programmazione, anche Python ha il suo insieme di regole. Se queste regole non vengono seguite, il codice diventa incomprensibile per l'interprete, causando errori di sintassi. Questi errori sono problemi comuni che incontrano sia i programmatori principianti che quelli esperti. L'articolo esamina gli errori più frequenti in Python e fornisce i metodi per correggerli durante il processo di programmazione.

Errori comuni di Python e correzioni

Quando si verifica un errore di sintassi, Python fornisce un messaggio di errore che indica il problema. Questo messaggio tipicamente include:

  • Il nome del file e il numero di riga in cui si è verificato l'errore.
  • La specifica riga di codice che ha causato l'errore.
  • Un caret (^) che indica il punto esatto in cui l'interprete si è confuso.
  • Una descrizione dell'errore che indica la natura del problema.

Parentesi mancanti o non corrispondenti

Uno degli errori più comuni dei principianti di Python è dimenticare di chiudere le parentesi. Questo è particolarmente comune nelle chiamate di funzione e nelle strutture annidate.

Esempio:

print("Hello, World!"

Messaggio di errore di Python:

1.png

Fissare:

Assicurarsi che tutte le parentesi siano chiuse correttamente.

print("Hello, World!")

Errore di indentazione in Python

Python si basa sull'indentazione per definire i blocchi di codice. Un'indentazione errata può portare a errori di sintassi.

Esempio:

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

Messaggio di errore Python:

2.png

Fix:

Indentare correttamente il blocco di codice.

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

Errori di punteggiatura mancanti in elenchi o dizionari

Dimenticare di inserire le virgole tra gli elementi di elenchi o dizionari è un altro errore frequente.

Esempio:

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

Messaggio di errore di Python:

3.png

Fissare:

Aggiungere la virgola mancante tra "sweert" e "nome".

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

Parole chiave riservate di Python abusate

L'uso improprio delle parole chiave riservate di Python può anche causare errori di sintassi. Le parole chiave sono parole riservate che hanno un significato speciale.

Esempio:

class = "Beginner"

Messaggio di errore di Python:

4.png

Fissare:

Scegliete un nome diverso che non sia una parola chiave riservata.

level = "Beginner"

Nomi di variabili illegali

I nomi delle variabili devono rispettare regole specifiche. L'uso di nomi di variabili illegali, come quelli che iniziano con un numero o contengono spazi, provoca errori di sintassi.

Esempio:

2name = "John"

Messaggio di errore Python:

5.png

Fissare:

Utilizzare un nome di variabile valido.

name2 = "John"

Stringhe non chiuse

Le stringhe devono essere racchiuse tra virgolette corrispondenti. Se si dimentica di chiudere una stringa, si verifica un errore di sintassi.

Esempio:

message = "Hello, World!

Messaggio di errore di Python:

6.png

Fissare:

Assicurarsi che la stringa sia chiusa con lo stesso tipo di virgolette.

message = "Hello, World!"

Mancano i punti nelle dichiarazioni composte

Dimenticare di aggiungere i due punti (:) alla fine di dichiarazioni composte come if, for, while e def può portare a errori di sintassi.

Esempio:

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

Messaggio di errore di Python:

7.png

Fissare:

Aggiungere i due punti alla fine della dichiarazione composta.

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

Operatore di assegnazione Python fuori luogo

L'uso di operatori non corretti può causare errori di sintassi. Ciò include gli operatori di assegnazione e gli operatori di confronto.

Esempio:

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

Messaggio di errore Python:

8.png

Fissare:

Utilizzare l'operatore di confronto corretto.

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

Suggerimenti per evitare gli errori comuni di Python

  1. Utilizzare un editor di codice per Python: strumenti come PyCharm, VS Code o Jupyter Notebook evidenziano gli errori di sintassi durante la digitazione, rendendoli più facili da individuare e correggere.
  2. Scrivere e testare il codice in modo incrementale: eseguire regolarmente il codice in piccole parti per individuare tempestivamente gli errori.
  3. Indentazione coerente: attenetevi a un uso coerente di spazi o tabulazioni per l'indentazione, per evitare confusione ed errori.
  4. Utilizzare strumenti di linting per Python: utilizzare linters come pylint o flake8 per analizzare il codice alla ricerca di potenziali errori e applicare gli standard di codifica.
  5. Fare riferimento alla documentazione: tenere a portata di mano la documentazione ufficiale di Python per comprendere le regole e le convenzioni della sintassi.

Gestione degli errori di sintassi in pratica

Consideriamo un semplice script di web scraping che incontra un errore di sintassi e come eseguirne il debug usando il debugger integrato di Python, pdb.

Debug di uno script di web scraping con pdb

Codice originale:

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)

Messaggio di errore di Python:

9.png

Fissare:

Aggiungere i due punti mancanti dopo il ciclo 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)

Utilizzo di pdb per il debug:

Aggiungere la seguente riga prima del ciclo per avviare il debugger.

import pdb; pdb.set_trace()

Codice modificato con punto di interruzione:

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 si esegue lo script, il debugger pdb si avvia al punto di interruzione.

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

Comandi di debug:

  • n (next): esegue la riga di codice successiva.
  • c (continue): continua l'esecuzione fino al prossimo punto di interruzione.
  • p nome_variabile: stampa il valore di nome_variabile.

Esempio di sessione:

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

Utilizzando pdb, è possibile analizzare il codice, ispezionare le variabili e comprendere il flusso di esecuzione, facilitando l'identificazione e la correzione degli errori.

Evitare gli errori di runtime di Python

Gli errori di interpretazione si verificano quando il processore non è in grado di comprendere il codice in modo completo, mentre gli errori di runtime si verificano durante l'esecuzione del codice. La divisione a zero, l'eliminazione di un array in un elenco e le variabili non definite sono alla base di questi errori.

Esempio:

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

Messaggio di errore di Python:

10.png

Fissare:

Assicurarsi di accedere a indici di lista validi.

print(numbers[2])

Gestione delle eccezioni in Python

La gestione delle eccezioni consente al programma di continuare a funzionare anche quando si verifica un errore. Utilizzare i blocchi try-except per catturare e gestire le eccezioni.

Esempio:

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

Conclusione

Acquisire competenze sugli errori comuni e correggere gli errori nella sintassi Python è molto essenziale per qualsiasi sviluppatore Python. Leggere i messaggi di errore di Python e procedere alle successive correzioni garantisce la possibilità di scrivere facilmente un codice migliore.

Commenti:

0 Commenti