Come Lavorare con la Console Interattiva di Python

Introduzione

La console interattiva di Python (anche chiamata interprete Python o shell Python) fornisce ai programmatori un modo rapido per eseguire comandi e provare o testare il codice senza creare un file.

Fornendo accesso a tutte le funzioni incorporate di Python e a qualsiasi modulo installato, alla cronologia dei comandi e al completamento automatico, la console interattiva offre l’opportunità di esplorare Python e la possibilità di incollare il codice nei file di programmazione quando si è pronti.

Questo tutorial illustrerà come lavorare con la console interattiva di Python e sfruttarla come strumento di programmazione.

Prerequisiti

Dovresti avere Python 3 installato e un ambiente di programmazione configurato sul tuo computer o server. Se non hai un ambiente di programmazione configurato, puoi fare riferimento alle guide di installazione e configurazione per un ambiente di programmazione locale o per un ambiente di programmazione sul tuo server adatto al tuo sistema operativo (Ubuntu, CentOS, Debian, ecc.).

Entrare nella Console Interattiva

La console interattiva di Python può essere accessa da qualsiasi computer locale o server con Python installato.

Il comando che utilizzerai per accedere alla console interattiva di Python per la tua versione predefinita di Python è:

  1. python3

Se stai utilizzando un ambiente virtuale locale di Python, accederai alla versione predefinita di Python con:

  1. python

Se hai configurato un ambiente di programmazione secondo la sezione dei prerequisiti, puoi avviare e accedere alla versione di Python e ai moduli che hai installato in quell’ambiente inserendovi prima con il seguente comando:

  1. cd environments
  2. . my_env/bin/activate

E quindi digitando il comando python:

  1. python

In questo caso, la versione predefinita di Python è Python 3.8.10, che viene visualizzata nell’output una volta inserito il comando, insieme alla relativa notifica di copyright e ad alcuni comandi che puoi digitare per informazioni aggiuntive:

Output
Python 3.8.10 (default, Jun 2 2021, 10:49:15) [GCC 9.4.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>>

Il prompt principale per il comando successivo è costituito da tre segni di maggiore (>):

Puoi indirizzare versioni specifiche di Python aggiungendo il numero di versione al tuo comando, senza spazi:

Nota: A partire da gennaio 2020, Python 2 è stato sospeso e non saranno più apportate migliorie. Per saperne di più, consulta [Il tramonto di Python 2] (https://www.python.org/doc/sunset-python-2/)

  1. python2.7
Output
Python 2.7.18 (default, Mar 8 2021, 13:02:45) [GCC 9.3.0] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>

Ecco, abbiamo ricevuto l’output che verrà utilizzata Python 2.7.18. Se questa è la nostra versione predefinita di Python 2, avremmo potuto anche entrare in questa console interattiva con il comando python2.

In alternativa, possiamo chiamare la versione predefinita di Python 3 con il seguente comando:

  1. python3
Output
Python 3.8.10 (default, Jun 2 2021, 10:49:15) [GCC 9.4.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>>

Avremmo potuto anche chiamare la console interattiva sopra con il comando python3.8.

Con la console interattiva di Python in esecuzione, possiamo passare a lavorare con l’ambiente shell per Python.

Lavorare con la Console Interattiva di Python

Il interprete interattivo di Python accetta la sintassi di Python, che si colloca dopo il prefisso >>>.

Ad esempio, possiamo assegnare valori alle variabili:

  1. birth_year = 1868

Una volta che abbiamo assegnato il valore intero di 1868 alla variabile anno_di_nascita, premiamo invio e riceveremo una nuova riga con il prefisso dei tre segni di maggiore:

  1. birth_year = 1868

Possiamo continuare ad assegnare variabili e poi eseguire operazioni matematiche con operatori per ottenere calcoli restituiti:

>>> birth_year = 1868
>>> death_year = 1921
>>> age_at_death = death_year - birth_year
>>> print(age_at_death)
53
>>> 

Come faremmo con uno script in un file, abbiamo assegnato variabili, sottratto una variabile dall’altra, e chiesto alla console di stampare la variabile che rappresenta la differenza.

Proprio come in qualsiasi forma di Python, è possibile utilizzare anche la console interattiva come calcolatrice:

>>> 203 / 20
10.15
>>> 

Qui, abbiamo diviso l’intero 203 per 20 e ci è stato restituito il quoziente di 10.15.

Linee Multiple

Quando scriviamo codice Python che coprirà più linee, l’interprete utilizzerà il prompt secondario per le linee di continuazione, tre punti (...).

Per uscire da queste linee di continuazione, sarà necessario premere INVIO due volte.

Possiamo vedere come appare questo nel seguente codice che assegna due variabili e poi utilizza una dichiarazione condizionale per determinare cosa stampare sulla console:

>>> sammy = 'Sammy'
>>> shark = 'Shark'
>>> if len(sammy) > len(shark):
...     print('Sammy codes in Java.')
... else:
...     print('Sammy codes in Python.')
... 
Sammy codes in Python.
>>> 

In questo caso le lunghezze delle due stringhe sono uguali, quindi la dichiarazione else viene stampata.
Nota che è necessario rispettare la convenzione di indentazione di Python di quattro spazi, altrimenti si riceverà un errore:

>>> if len(sammy) > len(shark):
... print('Sammy codes in Java.')
  File "<stdin>", line 2
    print('Sammy codes in Java.')
        ^
IndentationError: expected an indented block
>>> 

Non solo è possibile sperimentare con il codice su più linee nella console Python, ma è anche possibile importare moduli.

Importazione dei Moduli

L’interprete Python fornisce un modo rapido per controllare se i moduli sono disponibili in un ambiente di programmazione specifico. Puoi farlo usando l’istruzione import:

>>> import matplotlib
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'matplotlib'

Nel caso sopra, il modulo matplotlib non era disponibile nell’ambiente di programmazione corrente.

Per installarlo, sarà necessario uscire dall’interprete interattivo e installare con pip come al solito:

  1. pip install matplotlib
Output
Collecting matplotlib Downloading matplotlib-3.4.3-cp38-cp38-manylinux1_x86_64.whl (10.3 MB) ... Installing collected packages: numpy, python-dateutil, kiwisolver, pillow, pyparsing, cycler, matplotlib Successfully installed cycler-0.10.0 kiwisolver-1.3.1 matplotlib-3.4.3 numpy-1.21.2 pillow-8.3.1 pyparsing-2.4.7 python-dateutil-2.8.2

Una volta che il modulo matplotlib insieme alle sue dipendenze sono stati installati con successo, è possibile tornare nell’interprete interattivo:

  1. python
  1. import matplotlib

A questo punto non riceverai messaggi di errore e potrai utilizzare il modulo installato sia all’interno della shell che all’interno di un file.

Uscire dalla Console Interattiva Python

Ci sono due modi principali per uscire dalla console interattiva Python, tramite una scorciatoia da tastiera o una funzione Python.

La scorciatoia da tastiera CTRL + D nei sistemi basati su *nix o CTRL + Z e poi il tasto CTRL nei sistemi Windows interromperanno la tua console e ti riporteranno al tuo ambiente terminale originale:

...
>>> age_at_death = death_year - birth_year
>>> print(age_at_death)
53
>>> 
sammy@ubuntu:~/environments$ 

Alternativamente, la funzione Python quit() uscirà dalla console interattiva e ti riporterà anche all’ambiente terminale originale in cui ti trovavi in precedenza:

>>> octopus = 'Ollie'
>>> quit()
sammy@PythonUbuntu:~/environments$ 

Quando usi la funzione quit(), verrà registrata nel tuo file di cronologia, ma la scorciatoia da tastiera CTRL + D non verrà registrata:

File: /home/sammy/.python_history
...
age_at_death = death_year - birth_year
print(age_at_death)
octopus = 'Ollie'
quit()

Uscire dall’interprete Python può essere fatto in entrambi i modi, a seconda di ciò che ha senso per il tuo flusso di lavoro e le tue esigenze di cronologia.

Accesso alla Cronologia

Una delle cose utili della console interattiva Python è che tutti i tuoi comandi vengono registrati nel file .python_history nei sistemi basati su *nix, che puoi visualizzare in un editor di testo come nano, ad esempio:

  1. nano ~/.python_history

Una volta aperto con un editor di testo, il tuo file di cronologia Python avrà un aspetto simile a questo, con la tua cronologia comandi Python:

File: /home/sammy/.python_history
import pygame
quit()
if 10 > 5:
    print("hello, world")
else:
    print("nope")
sammy = 'Sammy'
shark = 'Shark'
...

Una volta finito con il file, puoi premere CTRL + X per uscire da nano.

Tenendo traccia di tutto il tuo storico Python, puoi tornare ai comandi e agli esperimenti precedenti, e copiare e incollare o modificare quel codice per l’uso in file di programmazione Python o in un Jupyter Notebook.

Conclusioni

La console interattiva Python fornisce uno spazio per sperimentare con il codice Python. Puoi usarlo come strumento per testare, elaborare la logica e altro ancora.

Per l’uso nel debug dei file di programmazione Python, puoi utilizzare il modulo Python code per aprire un interprete interattivo all’interno di un file, di cui puoi leggere nella nostra guida Come eseguire il debug di Python con una console interattiva.

Source:
https://www.digitalocean.com/community/tutorials/how-to-work-with-the-python-interactive-console