Errore di rientro in Python: cause, come risolvere, vantaggi

Pubblicato: 2021-05-26

In quanto linguaggio di programmazione interpretato, di alto livello e generico, Python ottiene sempre più riconoscimenti come le piattaforme più promettenti, leader ed emergenti del mondo di programmazione. Python non è niente senza la sua ingegnosa filosofia di design.

Una caratteristica chiave è l'enfasi attratta dal notevole uso di indentazioni significative per migliorare la leggibilità del codice. L'illustrazione evidenziata di seguito delinea brevemente i baluardi della filosofia di progettazione di Python come venti aforismi, a cui allude Tim Peters, Pythoneer di lunga data, che alla fine è diventato uno degli sviluppatori principali più prolifici e tenaci di Python.

Sommario

Una breve introduzione a Python

Prima di approfondire i tecnicismi specifici alla base dell'errore di indentazione in Python, dobbiamo familiarizzare con i fondamenti di Python e la necessità di indentazione. Ciò non solo ti aiuterà ad ottenere un migliore apprezzamento dell'errore stesso, ma offrirà una panoramica dei vantaggi che i programmatori ottengono scegliendo efficacemente di risolverlo.

L'inizio di Python come linguaggio di programmazione multi-paradigma può essere fatto risalire all'anno 1991. Da allora, i programmatori hanno continuamente adattato il wireframe principale di Python per soddisfare una gamma di esigenze specifiche dell'utente, come la scienza dei dati e lo sviluppo web e mobile.

Ora, sappiamo tutti che tentare di comprendere una grafia illeggibile è faticosamente complicato e spesso irritante. Allo stesso modo, un codice illeggibile e non strutturato è chiaro e semplice, inaccettabile nel mondo della programmazione. È qui che la nozione di PEP o Python Enhancement Proposal viene in soccorso del programmatore. PEP per la comunità Python è simile a un documento Google condiviso per la popolazione generale.

È un mandato descrittivo continuamente aggiornato che mantiene la comunità di programmazione Python completamente informata sulle funzionalità e sugli aggiornamenti per migliorare la leggibilità del codice. Da Guido van Rossum, Barry Warsaw e Nick Coghlan nel 2001, il PEP 8 è indicato come codice di stile di Python.

Cos'è l'indentazione?

È noto principalmente che Python è un linguaggio procedurale e, pertanto, un'indentazione in Python viene utilizzata per separare un codice singolare in gruppi identificabili di istruzioni funzionalmente simili. La maggior parte dei linguaggi di programmazione, inclusi C, C++ e JAVA, utilizzano parentesi graffe '{}' per definire un blocco di codice. Python segna una deviazione da questo design e preferisce l'uso del rientro.

Sintassi di indentazione

Secondo le convenzioni delineate dall'etica degli spazi bianchi PEP 8, ogni nuova iterazione (cioè un blocco di codice) dovrebbe iniziare con un rientro e la fine del codice dovrebbe essere la prima riga che non è indentata. La pratica comune per eseguire un rientro è quattro spazi bianchi o un singolo carattere di tabulazione, con aree ampiamente preferite rispetto alle tabulazioni.

Come discusso in precedenza, gli spazi bianchi iniziali all'inizio di una linea determinano il livello di rientro della linea. Per raggruppare le istruzioni per un particolare blocco di codice, dovrai aumentare il livello di rientro. Allo stesso modo, per chiudere il raggruppamento, dovrai ridurre il livello di rientro.

Checkout: 42 eccitanti argomenti e idee per il progetto Python

Cause di errore di indentazione in Python

"Errore di indentazione: previsto un blocco indentato" non discrimina tra gli utenti. Che tu sia un principiante nella programmazione Python o uno sviluppatore di software esperto, questo è destinato ad accadere ad un certo punto nel tempo. In Python, poiché tutto il codice digitato è organizzato tramite spazi bianchi corretti, se in qualsiasi istanza nel codice hai un'indentazione errata, il codice generale non viene eseguito e l'interprete restituirà una funzione di errore. Per sapere esattamente cosa tenere d'occhio, quanto segue elenca alcune delle cause comuni di un errore di indentazione in Python:

1. L'uso simultaneo di schede e spazio durante la codifica. Si può sostenere che in teoria sia le tabulazioni che gli spazi hanno lo stesso scopo, ma consideriamolo dal punto di vista dell'interprete. Se gli spazi bianchi e le schede vengono utilizzati in modo incoerente e intercambiabile, crea ambiguità. Ciò comporterà che l'interprete si confonderà tra quale alterazione utilizzare e alla fine restituirà un errore di indentazione in Python.

2. Hai posizionato involontariamente un rientro nel posto sbagliato o un'assenza di tabulazioni o spazi bianchi tra le righe di codice. Poiché Python aderisce a linee guida rigorose per organizzare i codici scritti, un rientro nel posto sbagliato restituirà inevitabilmente un errore. Ad esempio, la prima riga di Python non dovrebbe essere rientrata.

3. Occasionalmente, durante la fine di un programma scaduto ed eccezionalmente lungo, potresti inconsapevolmente perdere le funzioni di indentazione di istruzioni composte come for, while e if. Ciò comporterà nuovamente un errore di indentazione. Questo è il bisogno più basilare per l'indentazione quando si usa Python e deve essere rigorosamente praticato per padroneggiarlo.

4. Se si è dimenticato di utilizzare il rientro quando si lavora con funzioni definite dall'utente o classi diverse, è probabile che venga visualizzato un errore.

Come risolvere un errore di indentazione in Python?

1. Verifica la presenza di spazi bianchi o schede errati. Sfortunatamente, non esiste una soluzione rapida per un errore di rientro. Poiché il codice è tuo, resta il fatto che dovrai valutare ogni riga per identificare individualmente le istanze errate. Tuttavia, poiché le righe di codice sono disposte in blocchi, il processo è relativamente semplice. Ad esempio, se hai utilizzato l'istruzione 'if' in una sequenza particolare, puoi eseguire un controllo incrociato se ti sei ricordato di indentare la riga seguente.

2. Assicurati che l'indentazione per un blocco specifico rimanga la stessa in tutto il codice, anche se viene introdotto un nuovo blocco nel mezzo. Verificare la presenza di incongruenze nel rientro.

Se le soluzioni manuali di cui sopra non hanno funzionato per te e hai difficoltà a capire dove hai perso il rientro, procedi nel seguente modo:

3. Vai alle impostazioni dell'editor di codice e abilita l'opzione che cerca di visualizzare schede e spazi bianchi. Con questa funzione abilitata, vedrai singoli piccoli punti, dove ogni punto rappresenta una scheda/spazio bianco. Se noti che manca una goccia dove non dovrebbe essere, allora quella riga probabilmente ha un errore di indentazione.

4. Utilizzare la Guida al rientro integrata nell'interprete Python. Probabilmente, questo metodo è altamente inefficiente per diverse righe di codice. Tuttavia, poiché ti guida attraverso ogni riga e ti mostra esattamente dove si trova il tuo errore, è il modo più sicuro per trovare e correggere tutti gli errori.

Leggi anche: Le 12 migliori applicazioni Python affascinanti nel mondo reale

Vantaggi dell'indentazione

Leggibilità e coerenza sono essenziali per qualsiasi buon codice. Seguendo lo spazio bianco PEP 8, l'etica dovrebbe quindi essere non negoziabile. Sostanzia logicamente il tuo codice, contribuendo così a un'esperienza di codifica più piacevole. Inoltre, se segui questa linea guida stilistica in cui la leggibilità è tua de facto, le persone che non ti conoscono, ma sono interessate al tuo lavoro, capiranno il tuo codice con facilità.

Svantaggi del rientro

  • Se il codice è di grandi dimensioni e l'indentazione è danneggiata, può essere noioso correggere gli errori di indentazione. Questo è di solito quando un codice viene copiato da una fonte online, un documento Word o un file PDF.
  • I linguaggi di programmazione più diffusi in genere utilizzano parentesi graffe per il rientro. Per i programmatori che stanno appena iniziando a usare Python, adattarsi all'idea di usare gli spazi bianchi per l'indentazione può essere difficile.

Riassumendo

Tutto ciò che si trova tra te e un codice ben scritto è un'indentazione e tutto ciò che si trova tra te, il tuo codice ben scritto e la sua esecuzione senza interruzioni è un errore di indentazione. Ora, tutti gli esseri umani commettono errori. Tutti i programmatori sono esseri umani. Pertanto, tutti i programmatori commettono errori. Ma un errore di indentazione può essere facilmente risolto. Tutto quello che devi fare è respirare e prenderti il ​​tuo spazio.

Spero che imparerai molto mentre lavori su questi progetti Python. Se sei curioso di imparare la scienza dei dati per essere di fronte ai rapidi progressi tecnologici, dai un'occhiata al programma Executive PG in Data Science di upGrad & IIIT-B e migliora le tue competenze per il futuro.

Quali errori posso ottenere a causa del rientro in Python?

Python determina quando iniziano e si fermano i blocchi di codice osservando lo spazio all'inizio della riga. Potresti riscontrare i seguenti errori di rientro:
1. Rientro imprevisto - Questa riga di codice ha più spazi all'inizio rispetto a quella precedente, ma quella prima non inizia un sottoblocco. In un blocco, tutte le righe di codice devono iniziare con la stessa stringa di spazi bianchi.
2. Unindent non corrisponde a nessuno dei livelli di indentazione esterna - Questa riga di codice contiene meno spazi all'inizio della precedente, ma non corrisponde a nessun altro blocco.
3. Era previsto un blocco rientrato - Questa riga di codice inizia con lo stesso numero di spazi della precedente, ma la riga precedente doveva iniziare un blocco (ad esempio, if/while/for istruzione, definizione di funzione).

Come risolvi le schede e gli spazi incoerenti nell'indentazione Spyder?

Le schede e gli spazi sono due caratteri separati che appaiono sullo schermo come spazi bianchi. Il problema è che non c'è consenso su quanto dovrebbe essere grande un carattere di tabulazione, quindi alcuni editor lo visualizzano come se occupasse 8 spazi, altri come 4 spazi e altri come 2, ed è anche personalizzabile.
Quando si codifica solo una riga è rientrata con una scheda e l'altra con spazi, Python genera un errore, nonostante sembri buono nell'editor (ma non sembrerà a posto se raddoppi la larghezza di una scheda; ora le righe di tabulazione saranno rientrate di due livelli).
Per evitare questo problema, vai alle opzioni del tuo editor di testo e abilita la funzione di conversione da tabulazione a spazi , che sostituisce il carattere di tabulazione con n caratteri di spazio, dove n è la larghezza di tabulazione utilizzata dall'editor.

Come mostri i rientri su Spyder?

Seleziona il codice e premi Tab o Maiusc + Tab per far rientrare o annullare il rientro. Altri strumenti per modificare il codice sono disponibili nella sezione Modifica.