it
English
Español
中國人
Tiếng Việt
Deutsch
Українська
Português
Français
भारतीय
Türkçe
한국인
Gaeilge
اردو
Indonesia
Polski Ogni linguaggio di programmazione ha un insieme di regole o grammatica che segue. L'infrazione di queste regole provoca i cosiddetti errori di sintassi di Python, che possono causare il fallimento del codice. Questi problemi capitano a tutti, sia a chi è agli inizi sia a chi codifica da anni. Se vi siete mai chiesti: "Quali sono gli errori di sintassi in Python?". Questo articolo tratta i più comuni e spiega come risolverli durante la codifica.
Quando si verifica un errore di sintassi, Python fornisce un messaggio che indica il problema. Questo messaggio tipicamente include:
Diamo un'occhiata ai comuni errori di sintassi in Python che i programmatori incontrano spesso.
Uno degli errori più comuni dei principianti è dimenticare di chiudere le parentesi. Questo è particolarmente comune nelle chiamate di funzione e nelle strutture annidate.
Esempio:
print("Hello, World!"
І messaggio di problema:
Correggere:
Assicurarsi che tutte le parentesi siano chiuse correttamente.
print("Hello, World!")
L'indentazione specifica i blocchi di codice. In caso di problemi di indentazione, possono verificarsi errori di sintassi in Python.
Esempio:
def greet():
print("Hello, World!")
Messaggio di emissione:
Correggere:
Indentare correttamente il blocco di codice.
def greet():
print("Hello, World!")
Dimenticare di inserire le virgole tra gli elementi di elenchi o dizionari è un altro errore frequente.
Esempio:
fruits = {"type": "sweert" "name": "orange"}
І messaggio di problema:
Correggere:
Aggiungere la virgola mancante tra "sweert" e "nome".
fruits = {"type": "sweert", "name": "orange"}
L'uso improprio di queste parole chiave può causare problemi di sintassi. Le parole chiave sono parole riservate che hanno un significato speciale.
Esempio:
class = "Beginner"
Messaggio di emissione:
Correggere:
Scegliete un nome diverso che non sia una parola chiave riservata.
level = "Beginner"
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 in Python.
Esempio:
2name = "John"
І messaggio di problema:
Correggere:
Utilizzare un nome di variabile valido.
name2 = "John"
Le stringhe devono essere racchiuse tra virgolette corrispondenti. Se si dimentica di chiudere una stringa, si verifica un problema di sintassi.
Esempio:
message = "Hello, World!
І messaggio di problema:
Correggere:
Assicurarsi che la stringa sia chiusa con lo stesso tipo di virgolette.
message = "Hello, World!"
Un problema di sintassi può verificarsi se mancano i due punti (:) alla fine di un'istruzione condizionale composta, come if, for, while o def.
Esempio:
def greet()
print("Hello, World!")
І messaggio di problema:
Correggere:
Aggiungere i due punti alla fine della dichiarazione composta.
def greet():
print("Hello, World!")
L'uso di operatori non corretti può causare errori di sintassi in Python. Ciò include gli operatori di assegnazione e gli operatori di confronto.
Esempio:
if x = 10:
print("x is 10")
І messaggio di problema:
Correggere:
Utilizzare l'operatore di confronto corretto.
if x == 10:
print("x is 10")
Consideriamo un semplice script di web scraping che incontra qualche bug e che aiuta a capire come correggere gli errori di sintassi nel debugger integrato in python, 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 problema:
Correggere:
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()
Aggiungere un codice di oscuramento con segni 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:
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
Con pdb, è possibile eseguire continuamente il programma, osservare i valori delle diverse variabili e comprendere come viene eseguito il codice, consentendo di individuare e risolvere rapidamente i problemi.
Utilizzando il pdb, è possibile eseguire il programma, controllare i valori delle variabili importanti e seguire il flusso di controllo per individuare bug ed errori logici. Problemi come la divisione per zero, l'accesso a elementi fuori range in un elenco o l'uso di variabili non definite sono problemi comuni che si possono individuare in questo modo.
Esempio:
numbers = [1, 2, 3]
print(numbers[3])
І messaggio di problema:
Correggere:
Assicurarsi di accedere a indici di lista validi.
print(numbers[2])
I blocchi Try-except consentono di avvolgere il codice che potrebbe causare problemi. Se questi problemi vengono individuati, il programma può continuare a funzionare senza problemi anche se incontra errori di sintassi nel codice.
Esempio:
try:
result = 10 / 0
except ZeroDivisionError:
print("You can't divide by zero!")
Familiarizzare con gli errori più comuni ed esaminare gli esempi di errori di sintassi in Python è una cosa che ogni sviluppatore dovrebbe fare. Più si presta attenzione ai messaggi diagnostici e più velocemente li si corregge, più il codice sarà fluido. Utilizzate strumenti e suggerimenti che supportino realmente il vostro lavoro.
Commenti: 0