9 Trucchi con la REPL di Python

9 Trucchi con la REPL di Python

Naturalmente, il Pi in Raspberry Pi proviene da Python, uno dei linguaggi di programmazione più diffusi al mondo e particolarmente popolare tra i tinker e i maker. In questo post, voglio darvi 9 trucchi e suggerimenti per l'utilizzo della REPL di Python, ma non preoccupatevi se non avete molta familiarità con la REPL di Python. Pitone o il REPL.

Questo post è rivolto sia ai principianti che ai programmatori Python intermedi.

Che cos'è il REPL?

Il REPL, o Read-Evaluate-Print Loop, è un modo per interagire direttamente con l'interprete Python. Si chiama REPL perché legge, valuta e stampa l'input e poi torna all'inizio, consentendo di inserire un altro comando.

Fornisce un'interfaccia attraverso una shell Python per inserire codice e ricevere immediatamente un output. In questo modo è possibile controllare il codice, eseguire il debug in tempo reale e produrre test interattivi. In genere, si capisce di avere a che fare con un REPL Python quando si vedono queste tre frecce:

>>>

Qui è possibile inserire i propri dati.

Vale la pena ricordare che

I termini "Python Shell" e "Python Interpreter" sono talvolta usati in modo intercambiabile, ma esiste una sottile differenza tra loro. L'interprete Python si riferisce al programma o al software che esegue il codice Python. La shell Python, invece, è l'interfaccia che permette di interagire con l'interprete in tempo reale.

Oltre alle shell standard di Python e Python3, molti usano anche IPython e bpython, programmi a riga di comando che offrono caratteristiche uniche, come l'evidenziazione della sintassi.

REPL di Python

Si può notare che IPython e bpython sono più belli per impostazione predefinita (di seguito vedremo come rendere più bello anche il REPL standard).

Vale anche la pena di notare che il REPL di IPython numera le righe di input "In [1]", "In [2]", ecc.

A differenza di IPython, bpython mantiene il layout >>>.

Il REPL può anche fornire funzioni come la cronologia dei comandi, il completamento delle schede e la possibilità di accedere a variabili e funzioni definite in precedenza, rendendolo uno strumento comodo per la programmazione e l'esplorazione interattiva di Python.

Questo rende il REPL uno strumento prezioso per chiunque voglia giocare con il proprio Raspberry Pi.

Ora che avete capito cos'è il REPL, analizziamo alcuni trucchi per usarlo:

Trucco 1: trovare la documentazione

È possibile trovare la documentazione di qualsiasi oggetto o modulo Python direttamente dal REPL, utilizzando l'opzione help() funzione.

Ad esempio, digitando help(str) visualizzerà la documentazione dell'oggetto stringa. Si può anche aggiungere il nome di un metodo o di una funzione specifica per ottenere informazioni dettagliate, come ad esempio

 help(str.upper)

Se si digita questo dato, si vedrà quanto segue:

Python REPL trova la documentazione

Trucco 2: utilizzare il completamento delle schede

A seconda del programma in uso, la REPL di Python supporta il completamento tramite tabulazione, che può far risparmiare tempo ed evitare errori di battitura. Premendo il tasto Tab dopo aver digitato un nome parziale o un oggetto, vengono visualizzate le opzioni disponibili.

Ad esempio, se si digita int. e poi premere Tab, verrà visualizzato un elenco di metodi da eseguire con i numeri interi.

Completamento delle schede di Python REPL

Trucco 3: Creare dichiarazioni su più righe

Inoltre, il REPL consente di scrivere dichiarazioni su più righe utilizzando la continuazione di riga.

Se si desidera suddividere un'istruzione in più righe per renderla più leggibile, si può usare il carattere backslash (\) alla fine di ogni riga per farla proseguire nella riga successiva (si veda l'esempio 1).

Si può anche mettere l'istruzione tra parentesi o tra parentesi per continuarla nella riga successiva (si veda l'esempio 2).

# example 1: using backslash for a multi-line statement

name = 'Fatima'
age = 46
country = 'Germany'

message = 'Hi, ' + \
          name + \
          '! You are ' + \
          str(age) + \
          ' years old and from ' + \
          country + '.'

print(message)

# the message will be 'Hi, Fatima! You are 46 years old and from Germany.'

# example 2: using parentheses for a multi-line statement

total = (1 + 2 + 3 +
         4 + 5 + 6 +
         7 + 8 + 9)

print("The total is:", total)

# the message will be 'The total is: 45'

Trucco 4: accedere al codice precedentemente digitato

È possibile accedere al codice precedentemente digitato nel REPL utilizzando i tasti freccia su e giù, proprio come nel terminale.

Premendo il tasto freccia in alto si scorre la cronologia dei comandi, consentendo di richiamare e modificare rapidamente i comandi precedenti. Verificatelo voi stessi!

Trucco 5: Utilizzare la variabile Underscore

La variabile underscore (_) contiene il risultato dell'ultima espressione valutata nel REPL.

Può essere utile quando si vuole riutilizzare il risultato in operazioni successive senza dover rivalutare l'intera espressione. Quindi, se avete bisogno di fare dei calcoli rapidi o di recuperare dei dati molto velocemente, potete semplicemente digitare il trattino basso come variabile standard del risultato precedente.

Variabile underscore di Python REPL

Trucco 6: Eseguire comandi di sistema e comandi magici (IPython)

In IPython (abbreviazione di "Interactive Python"), è possibile eseguire direttamente i comandi di sistema anteponendo a una riga di codice un punto esclamativo (!).

Insieme a IPython comandi magici, like %cd to change directory, you’re able to use the Python REPL for seamless integration!

Ad esempio, !ls su sistemi basati su Unix o !dir in Windows elenca il contenuto della directory corrente.

Comandi magici di Python REPL

Trucco 7: sperimentare con le importazioni

In Python REPL è possibile sperimentare le importazioni senza dover creare file Python separati. Questa caratteristica consente di importare moduli, di provarne le funzioni e di esplorarne il contenuto in modo interattivo, rendendo conveniente una rapida sperimentazione ed esplorazione di diversi moduli e delle loro capacità.

Ecco come utilizzare la REPL di Python per sperimentare le importazioni:

>>> import math
>>> math.sqrt(16)
4.0

In questo esempio, si utilizza l'opzione sqrt() dalla funzione math per calcolare la radice quadrata di 16.

Utilizzando il REPL di Python per sperimentare le importazioni, è possibile testare ed esplorare rapidamente le funzionalità di vari moduli senza dover creare file Python separati.

Questo processo interattivo e iterativo consente di comprendere meglio il funzionamento dei diversi moduli, di provare diverse funzioni e di esaminare i risultati in tempo reale.

Trucco 8: personalizzare il prompt di REPL

Non vi piace il >>> come prompt principale e ... come prompt secondario?

Siete fortunati, perché potete personalizzare il prompt visualizzato da Python REPL.

Modificando il sys.ps1 e sys.ps2 è possibile modificare le richieste primarie e secondarie, rispettivamente.

Correre e basta:

import sys

sys.ps1 = 'primary'
sys.ps2 = 'secondary'

Ora, il prompt primario sarà "primario" e quello secondario "secondario". Sentitevi liberi di cambiarlo con quello che volete! Provate ad esempio con simboli o emoji!

Questa operazione ha effetto solo sulla sessione REPL corrente. Se si vuole rendere le cose un po' più permanenti, è necessario trovare il file ".pyrc" e modificare i prompt.

Ricordate i miei noiosi e brutti suggeritori nelle REPL di cui sopra? Cambiamo il colore.

Se si utilizza Linux, si può inserire il seguente comando nel terminale:

tee ~/.pyrc <<E0F
import sys
sys.ps1='\x01\x1b[1;34;40m\x02>>>\x01\x1b[0m\x02'
sys.ps2='\x01\x1b[1;35;40m\x02...\x01\x1b[0m\x02'
E0F

Questo cambierà il colore del prompt primario in blu su grigio e quello del prompt secondario in viola su grigio, se lo desiderate. Sentitevi liberi di sperimentare con tutte le opzioni Sequenze di colori ANSI per trovare il colore del suggeritore che vi soddisfa.

Una volta fatto ciò, assicurarsi di esportare questo file:

export PYTHONSTARTUP=~/.pyrc

Ora le richieste dovrebbero apparire come queste:

prompt di personalizzazione di Python REPL

Anche in questo caso, si tratta di una soluzione temporanea. Se si desidera cambiare le cose in modo permanente, si dovrà modificare il file di configurazione. Ma è un assaggio del divertimento che si può avere!

Trucco 9: Esplorare moduli e oggetti

Se state cercando di integrare la ricerca di documentazione e l'utilizzo del completamento delle schede, questo è il trucco che completa il pacchetto!

Si può esplorare il contenuto di un modulo (o di un oggetto) utilizzando il metodo dir() funzione.

Passando un modulo o un oggetto come argomento, restituisce un elenco di nomi all'interno di quel modulo o oggetto, consentendo di esplorare gli attributi, i metodi e le funzioni disponibili.

Ad esempio:

import math
print (dir(math))

Viene visualizzato un elenco degli attributi, dei metodi e delle funzioni disponibili all'interno del modulo matematico.

Python REPL esplorare moduli e oggetti

Trucchi come questo possono essere determinanti per rendere il flusso di lavoro continuo.

Una volta acquisiti questi 9 trucchi, sarete in grado di utilizzare il REPL in modo più efficace.

In questo modo il debug e la verifica del codice saranno molto più agevoli.

Fateci sapere quali sono i vostri trucchi REPL nei commenti qui sotto!

Lascia un commento