Configurare e usare l'interprete Python su Linux Debian Ubuntu. Corsi individuali personalizzati di programmazione python. Apprendere python per sviluppi di applicazioni web - RasadaCrea, Grenoble Lyon

Salta testata | accessibilità sito : ridurre taglia del testo accessibilità sito : ingrandire taglia del testo | stampa il contenuto principale della pagina condividete questo documento internet con un partner

Come configurare e usare l'interprete interattivo Python

imparare pyhton, formazione progetti python, esercizi di formazione python, corsi individuali per apprendere python

Introduzione all'interprete interattivo Python

Il terminale interattivo Python

Il terminale interattivo Python permette di interagire con l'interprete Python. Non appena il terminale interattivo è attivato, è possibile scrivere codice Python linea per linea. Una linea del terminale interattivo inizia sempre con i caratteri >>> o ..., secondo la regola dell'indentazione del codice.

$ python
Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> pronto = "utente"
>>> if pronto:
...     print pronto
...
utente
>>>

Per uscire dal terminale interattivo Python, usiamo Ctrl+D in ambiente linux ubuntu. Poiché il terminale interattivo svolge un ruolo importante nello sviluppo di codice Python, conviene personalizzarlo per un uso più efficiente. Come farlo è spiegato nel paragrafo seguente.

Il file di avvio del terminale interattivo Python

Il terminale interattivo può essere configurato con un file di avvio. Durante l'attivazione, il terminale interattivo cerca la variabile di sistema PYTHONSTARTUP ed esegue il codice che è nel file puntato da questa variabile. Alcune distribuzioni Linux forniscono uno script di avvio per default, che in genere si trova nella cartella home; questo script viene chiamato .pythonstartup. Funzionalità quali il completamento di parole con il tasto TAB, la storia dei comandi eseguiti, sono necessarie per migliorare l'ergonomia d'uso del terminale interattive. Queste funzioni sono basate sul modulo readline, che é dunque richiesto. È inoltre possibile creare un semplice script di avvio come segue:

import readline
import rlcompleter
import atexit
import os
# tab completion
readline.parse_and_bind('tab: complete')
# history file
histfile = os.path.join(os.environ['HOME'], '.pythonhistory')
try:
    readline.read_history_file(histfile)
except IOError:
    pass
atexit.register(readline.write_history_file, histfile)
del os, histfile, readline, rlcompleter

In Linux, il modo più semplice è quello di creare lo script di avvio nella cartella home e chiamarlo .pythonstartup. A questo punto si puo' aggiungere una variabile di sistema PYTHONSTARTUP che punta allo script .pythonstartup. Questo può essere fatto, ad esempio, utilizzando il file .profile (o meglio .bashrc), dove possiamo inizializzare la variabile PYTHONSTARTUP inserendo alla fine del file la linea seguente:

export PYTHONSTARTUP=~/.pythonstartup

Quando il terminale interattivo viene lanciato, lo script .pythonstartup dovrebbe essere eseguito e le nuove funzionalità sono rese disponibili. Ad esempio, la funzionalità di completamento di parole con il tasto TAB è veramente utile per analizzare facilmente tutti gli attributi di qualsivoglia oggetto Python:

>>> import hashlib
>>> hashlib.<tab>
hashlib.__class__(                  hashlib.__loader__       hashlib.__subclasshook__(
hashlib.__delattr__(                hashlib.__name__         hashlib._hashlib
hashlib.__dict__                    hashlib.__new__(         hashlib.md5(
hashlib.__doc__                     hashlib.__package__      hashlib.new(
hashlib.__file__                    hashlib.__py_new(        hashlib.sha1(
hashlib.__format__(                 hashlib.__reduce__(      hashlib.sha224(
hashlib.__get_builtin_constructor(  hashlib.__reduce_ex__(   hashlib.sha256(
hashlib.__getattribute__(           hashlib.__repr__(        hashlib.sha384(
hashlib.__hash__(                   hashlib.__setattr__(     hashlib.sha512(
hashlib.__hash_new(                 hashlib.__sizeof__(
hashlib.__init__(

IPyhton: un terminale interattivo Python avanzato

É possibile adattare lo script di avvio .pythonstartup per avere maggiori funzionalità. Inoltre, il modulo code fornisce le classi base dell'interprete. Tuttavia, vi è già un interprete interattivo Python avanzato, chiamato IPython, che mette a disposizione funzioni quali l'introspezione dinamica degli oggetti, accesso ai comandi di sistema dal terminale Python, strumenti di debug, ecc.

Avvio del terminale interattivo Python dal terminale di sistema

L'avvio dell'interprete interattivo Python dal terminale di sistema (semplicemente con il comando python), dà accesso a un certo numero di opzioni:

$ python [-dEiOQsStuvVxX3?] [-c command | -m module-name | script | - ] [args]
$ python -V
Python 2.6.5

Tutti i parametri successivi al comando python sono disponibile a partire dall'attributo sys.argv. Per esempio il primo parametro é accessibile con sys.argv[0]. L'utilizzo più comune dell'interprete Python è, naturalmente, una semplice invocazione del nome di uno script Python. In questo caso, l'interprete Python legge ed esegue lo script contenuto nel file:

$ python script.py [args]

Quando viene avviato con il comando -c command, l'interprete interattivo Python esegue i dati delle istruzioni contenuto in comand. Il set di istruzioni a cui si riferisce comand può contenere più linee separate, che devono tener conto degli spazi necessari di indentazione. Se questa opzione viene utilizzata, il primo parametro in sys.argv sarà -c e la cartella corrente verrà aggiunto all'inizio della variabile sys.path, consentendo l'importazione dei moduli Python presenti in quella directory.

$ python -c """
> a=2; b=3
> if a: print a+b"""
5
$

Quando l'interprete Python viene avviato con l'opzione -m module-name, il modulo indicato viene localizzato ed eseguito come uno script. Il nome del modulo indicato non contiene l'estensione di file .py.

$ python -m module [args]

Con l'opzione -i possiamo, tutto in una volta, lanciare uno script python, eseguirlo, avviare l'interprete interattivo Python ed accedere agli attributi dello script. Ad esempio, consideriamo un file Python nella directory corrente, denominato interprete.py, contenente il seguente script:

#!/usr/local/bin/python2.7
# -*- coding: utf-8 -*-
#
# Copyright 2012 RasadaCrea. Diritti Riservati
uno_string = 'string'
un_intero = 11
un_arg = 'un_arg_di_funzione'
def una_funzione(un_arg):
    return un_arg
class UnaClasse:
    pass
una_istanza = UnaClasse()
print '%s - %d - %s - %s' % (uno_string, un_intero, una_funzione(un_arg), una_istanza)

L'avvio di questo script, dal terminale interattivo, con l'opzione -i del comando python, permette di accedere alle funzionalità seguenti:

$ python -i interprete.py
string - 11 - un_arg_di_funzione - <__main__.UnaClasse instance at 0xb738ca0c>
>>> vars()
{'un_intero': 11, '__builtins__': <module '__builtin__' (built-in)>,
 'UnaClasse': <class __main__.UnaClasse at 0xb7382a7c>, '__package__': None,
 'una_istanza': <__main__.UnaClasse instance at 0xb738ca0c>,
 'un_arg': 'un_arg_di_funzione', '__name__': '__main__', '__doc__': None,
 'uno_string': 'string', 'una_funzione': <function una_funzione at 0xb737da74>}
>>> un_intero
11
>>> una_funzione
<function una_funzione at 0xb737da74>
>>> una_funzione('un altro parametro')
'un altro parametro'
>>> una_istanza
<__main__.UnaClasse instance at 0xb738ca0c>

Formazione individuale e corsi di programmazione Python da RasadaCrea

Tutti i corsi di formazione in programmazione Python tenuti da RasadaCrea sono individuali e personalizzati. Contattate RasadaCrea per ulteriori informazioni sulla creazione di un piano di formazione personalizzato di corsi di programmazione Python, e per conoscere i prezzi e l'organizzazione dei programmi di apprendimento Python.