Tag Archives: lezioni python

Inizializzazione delle variabili in Python

python

L’inizializzazione delle variabili in Python rappresenta una buona pratica di programmazione che ci mette al riparo da situazioni impreviste. Questo perchè è possibile che nel codice che abbiamo realizzato si possano generare degli errori dovuti all’utilizzo di variabili che non risultano iniliazzate.

Ricordiamo allora che per inizializzazione delle variabili in Python s’intende l’operazione di creazione della variabile con l’attribuzione ad essa di un valore valido; vediamone allora un esempio banale:
a = 1
in tale istruzione è stato utilizzato l’operatore di assegnazione (segno di uguale =), con il significato di assegnare appunto alla locazione di memoria individuata dal nome a il valore 1. Il tipo attribuito alla variabile viene stabilito in fase di inizializzazione; sarà allora che si deciderà se assegnare ad essa una stringa di testo, un valore booleano (true e false), un numero decimale etc.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Nomi di variabili in Python

python

I nomi delle variabili in Python rispettano le regole già viste per gli identificatori Python, ricordiamo poi che Python è case sensitive, nel senso che le lettere maiuscole e minuscole rappresentano entità differenti. Allora i nomi Luigi, luigi e LUIGI si riferiscono a tre variabili diverse. Infine è opportuno segnalare che le parole riservate non possono essere utilizzate come nomi di variabile in Python.

Lista delle parole riservate in Python

and continue else for import not raise
assert def except from in or return
break del exec global is pass try
class elif finally if lambda print while

Per la maggior parte dei compilatori, un nome di variabile può contenere fino a 31 caratteri, in modo da poter adottare per una variabile un nome sufficientemente descrittivo, in Python tale limite non viene indicato. La scelta del nome assume un’importanza fondamentale al fine di rendere leggibile il codice; questo perché un codice leggibile sarà facilmente mantenibile anche da persone diverse dal programmatore che lo ha creato.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Il namespace in Python

python

Con la parola namespace in Python, che tradotto suonerebbe come spazio dei nomi, si intende un dizionario Python che contiene i nomi delle variabili (chiavi) ed i valori di tali variabili (valori) in modo da tenere traccia delle variabili utilizzate in quel particolare contesto.

In generale, uno spazio dei nomi (a volte chiamato anche contesto) è un sistema di denominazione per creare dei nomi univoci onde evitare ambiguità. Tutti noi utilizziamo nella vita quotidiana un sistema del tipo namespace, vale a dire l’identificazione di persone attraverso nome cognome. Un altro esempio è relativo alle reti: ogni dispositivo di rete (workstation, server di stampa, …) ha bisogno di un nome e di un indirizzo univoco. Ancora un altro esempio è la struttura delle directory del file system. Lo stesso nome file può essere utilizzato in diverse directory, i file sono accessibili unicamente attraverso dei percorsi.
Molti linguaggi di programmazione usano spazi dei nomi o contesti per gli identificatori. Un identificatore definito in un namespace è associato a quel namespace. In questo modo, lo stesso identificatore può essere definito indipendentemente in più domini. (Come gli stessi nomi di file in directory nei differenti linguaggi di programmazione), che supportano spazi dei nomi, possono avere regole diverse che determinano a quale spazio dei nomi un identificatore appartiene.

Alcuni spazi dei nomi in Python (namespace in Python) sono:

  • global names
  • local names
  • built-in names

Ed allora ogni blocco di un programma Python, dispone dei suoi namespace, ad esempio una funzione ha il suo namespace, denominato namespace locale, che contiene i riferimenti a tutte le variabili utilizzate dalla funzione, ed i suoi argomenti. Così come un modulo ha il suo namespace, denominato questa volta namespace globale, in quanto contiene i riferimenti alle variabili del modulo, alle funzioni, alle classi, ed infine ai moduli importati. C’è poi il namespace built-in, accessibile da ogni modulo, che contiene le funzioni built-in e le eccezioni.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Identificatori in Python

python

Un identificatore in Python  è il nome con cui sono rappresentate costanti, variabili, metodi, classi e moduli. Un identificatore in Python  può essere costituito da una lettera maiuscola, minuscola o dal simbolo underscore seguito da altri caratteri, che a loro volta possono essere una qualsiasi combinazione di lettere maiuscole e minuscole, underscore e cifre. I caratteri minuscoli corrispondono alle lettere minuscole dell’alfabeto dalla a alla z, compreso il simbolo underscore, mentre i caratteri maiuscoli corrispondono alle lettere maiuscole dell’alfabeto dalla A alla Z e le cifre da 0 al 9. Il numero di caratteri che compongono il nome non è limitato.

Un identificatore in Python può essere scelto applicando le seguenti regole:

  • Un identificatore non può contenere degli spazi vuoti.
  • I nomi delle classi iniziano con una lettera maiuscola e tutti gli altri identificatori con una lettera minuscola.
  • Se il nome inizia con un underscore ciò indica per convenzione che l’identificatore è destinato ad essere privato.
  • Se invece l’identificatore inizia con due caratteri di sottolineatura ciò indica un identificatore fortemente privato.
  • Se l’identificatore, inoltre, termina con due simboli di sottolineatura, l’identificatore è un nome definito speciale.

C’è da precisare che non possono essere usate come nomi degli identificatori alcune parole, che sono quindi riservate ad opportuni impieghi dall’interprete.

Parole riservate in Python

Parole riservate in Python

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Indentazione del codice in Python

python

Un caratteristica essenziale del linguaggio di programmazione Python è il metodo che utilizza per delimitare i blocchi di programma, e cioè l’indentazione del codice.

Per indentazione del codice in Python, si intende quella tecnica utilizzata nella programmazione attraverso la quale si evidenziano dei blocchi di programma con l’inserimento di una certa quantità di spazio vuoto all’inizio di una riga di testo allo scopo di aumentarne la leggibilità. Così ogni riga viene indentata di un certo numero di spazi che dipende dalla sua posizione all’interno della struttura logica del programma.

Nell’indentazione del codice in Python, si utilizzano gli spazi bianchi, che vengono ignorati dall’interprete, allo scopo di separare più chiaramente le istruzioni ed in modo di rappresentare esplicitamente le relazioni di annidamento. La tecnica consiste nell’anteporre a ogni istruzione una quantità di spazio bianco proporzionale al numero di strutture di controllo o blocchi a cui tale istruzione appartiene.

indentazione del codice in Python

Indentazione del codice in Python

Allora Python, invece di usare parentesi o parole chiave, usa l’indentazione stessa per indicare i blocchi nidificati; a tal proposito si possono usare sia una tabulazione, sia un numero arbitrario di spazi bianchi, ma lo standard Python prevede  4 spazi bianchi. La cosa da ricordare è che la indentazione in Python non è facoltativa ma è una regola, nel senso che se si omette l’indentazione in una struttura condizionale, ad esempio, che rappresenta di norma una struttura nidificata, allora l’interprete ci restituirà un messaggio di errore.

Nell’utilizzo di tale tecnica è necessario ricordare delle semplici regole:

  • il numero di spazi da utilizzare è variabile;
  • tutte le istruzioni del blocco di programma devono presentare lo stesso numero di spazi di indentazione.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Opzioni da linea di comando in Python

python

In questo post impareremo a lanciare dei comandi Python attraverso l’utilizzo di una finestra di terminale. La prima cosa che risulta utile sapere è come impartire i comandi Python all’interprete; per fare questo possiamo utilizzare il seguente formato:

Python [option] [ nomefile | -c command | -m module | - ]          [arg]

dove:

  • option – rappresenta l’opzione che può essere passata all’interprete per eseguire una particolare azione;
  • nomefile – rappresenta il nome dello script Python che si vuole eseguire;
  • -c command – specifica un comando Python da eseguire;
  • -m module – lancia un modulo contenuto nella libreria a corredo dell’interprete: sarà allora ricercato il modulo nel sys.path, ed una volta individuato sarà lanciato come top-level file;
  • arg – indica che nient’altro sarà passato all’interprete python.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Documentazione ActivePython

python

ActivePython Documentation rappresenta una nutrita collezione di documentazione che viene fornita a corredo della IDE già dettagliatamente descritta nelle pagine precedenti.

Si tratta di una raccolta davvero completa che ci fornirà tutti gli argomenti necessari per apprendere le caratteristiche di base del linguaggio di programmazione Python se siamo dei principianti, mentre ci permetterà di arricchire le nostre competenze se siamo già pratici della sintassi di questo potente ma snello strumento per la programmazione ad oggetti.

Documentazione Python

Documentazione Python

Il sommario che si apre quando richiamiamo la documentazione Python ci offre i seguenti argomenti:

  • Active Python User Guide
  • What’s New
  • Python Documentation
  • Helpful Resources
  • PyWin 32 Documentation

 Come è possibile verificare, la documentazione a corredo del pacchetto ci permette di accedere ad una Guida all’uso di Active Python, alle novità introdotte dalla nuova versione, ad una raccolta di documenti su Python, alle risorse di aiuto ed infine alla documentazione su PyWin 32.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Editor Pythonwin

python

L’editor Pythonwin è la versione Windows di Scintilla. Scintilla offre tutto ciò che ci si aspetta da un editor di Python, come un sistema di identazione intelligente, code-folding (che permette di nascondere delle porzioni di un file di codice mentre si lavora ad altre parti dello stesso file), e l’evidenziazione della sintassi.

Inoltre, la finestra di editor può essere divisa in due, fornendo uno strumento utile per un confronto efficace tra codici sorgente, mentre a sinistra della finestra dell’editor può essere aperto un pannello di servizio del browser che ci permette di navigare nel file system del computer.

Il layout compatto di questi pannelli, combinato con una interfaccia MDI, rende facile lavorare su un numero elevato di file nello stesso momento.

python

L’editor è facilmente personalizzabile attraverso delle comode finestre di dialogo. Pythonwin è stato uno dei primi Python IDE a sostenere il completamento automatico, l’avviso di rientro incoerente, e suggerimenti per le chiamate di funzioni, e lo fa abbastanza bene considerando che è estremamente difficile da attuare a causa della natura debolmente tipizzata di Python. È inoltre possibile controllare la correttezza sintattica del codice senza eseguirlo.

Pythonwin rappresenta una risorsa open source, scritto da Mark Hammond, e ora parte del pacchetto ActiveState Active Python, anche se può essere scaricato separatamente. Cosicchè Active Python nasce dal’accorpamento di una IDE completa, di un interprete Python e di una piccola selezione di librerie standard, cosa questa che sembra essere una tendenza nel mondo Windows.

 LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

La Guida in linea di Python

python

Per consultare la guida in linea di Python dobbiamo digitare il comando help() per ricevere informazioni sull’uso dell’interprete python. Dopo aver impartito il comando si riceve un messaggio di benvenuto dalla funzione di Guida in linea che ci invita nel caso fossimo dei principianti a consultare il tutorial disponibile su Internet al seguente url:

http://docs.python.org/tutorial/:

>>> help()
Welcome to Python 3.1!  This is the online help utility.

If this is your first time using Python, you should definitely check out the tutorial on the Internet at http://docs.python.org/tutorial/.

Enter the name of any module, keyword, or topic to get help on writing Python programs and using Python modules.  To quit this help utility and return to the interpreter, just type "quit".

To get a list of available modules, keywords, or topics, type "modules", "keywords", or "topics".  Each module also comes with a one-line summary of what it does; to list the modules whose summaries contain a given word such as "spam", type "modules spam".

help>

 Nella guida in linea, come già detto attivabile con il comando help(), basterà inserire il nome di qualsiasi modulo, parola chiave o un argomento per ottenere aiuto nella redazione di programmi Python. Per uscire poi dalla guida in linea per fare ritorno all’interprete, sarà sufficiente digitare “quit”. Per ottenere invece un elenco dei moduli disponibili, delle parole chiave previste o degli argomenti utilizzabili, sarà necessario digitare “modules”,”keywords”, oppure “topics”.

Ogni modulo poi ha un sommario contenuto nella guida in linea in cui vengono elencate tutte le sue caratteristiche, mentre per elencare i moduli la cui sintesi contiene una parola data dovremo aggiungerla alla parola modules. Ad esempio per avere informazioni sul modulo array inseriremo tale nome nella shell della guida in linea per ottenere le informazioni riportate nella figura.

python

É allora consigliabile consultare la guida in linea dell’interprete Python ogni qualvolta ci si trova a dover utilizzare una risorsa Python che non si conosce in modo adeguato; abbiamo visto che attraverso l’help della Python Interactive Shell sarà semplice ed immediato ottenerne una sufficiente documentazione.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Python Interactive Shell

python

Per avviare Python o più correttamente per aprire la Python Interactive Shell basterà cliccare sul menu Start per trovare l’icona della shell già pronta tra i programmi di uso frequente, oppure basterà cliccare su Tutti i programmi quindi sulla voce Active State Active Python 3.1.

Dopo aver attivato la Python Interactive Shell ci troveremo a disposizione una finestra nella quale sarà possibile digitare da linea di comando le nostre istruzioni python. Iniziamo a tal proposito con il classico messaggio che i programmatori usano inviare alla shell per testarne il regolare funzionamento; mi riferisco al più classico dei messaggi: “Hello World”.

Per poter visualizzare un messaggio dalla shell sarà necessario stamparlo, ed allora quale poteva essere il comando che ci permette di fare questo se non print (che tradotto in italiano vuol dire stampa), questo a conferma del fatto che leggere del codice Python equivale a leggere un comune listato in lingua inglese.

Allora per visualizzare sul prompt dei comandi il messaggio “Hello World” basterà digitare la seguente istruzione:

print(‘Hello World’) 

per ottenere la stampa del messaggio come riportato nella figura.

Python Interactive Shell

Fatto questo vediamo ora come ricevere un primo ed immediato aiuto proprio dalla shell interattiva di Python; infatti all’apertura della shell viene visualizzato il seguente messaggio:

ActivePython 3.1.2.3 (ActiveState Software Inc.) based on

Python 3.1.2 (r312:79147, Mar 22 2010, 12:30:45) [MSC v.1500 64 bit (AMD64)] on

win32

Type “help”, “copyright”, “credits” or “license” for more information.

>>> 

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Link a risorse consigliate:

Installare Python dal codice sorgente su Linux

python

Vediamo ora come installare Python dal codice sorgente su Linux e compilandolo sulla nostra macchina. Se non si dispone di un gestore di pacchetti, o piuttosto non se ne fa uso, è possibile compilare Python per ottenere una versione fatta da noi. Questa può essere una scelta obbligata ad esempio se ci si trova su una macchina UNIX, senza l’accesso come root.

Questo metodo è molto flessibile, e consente di installare Python ovunque si desideri, anche nella nostra home directory. Per compilare e installare Python, basterà seguire i seguenti passaggi:

  • visitare il sito al seguente url: http://www.python.org/download/;
  • seguire le istruzioni per scaricare i sorgenti;
  • scarica il file con estensione. Tgz. e salvare in una posizione temporanea. Ipotizzando che si desidera installare Python nella nostra home directory, si consiglia di metterlo in un directory con nome ~ / python;
  • spostarsi in questa directory (ad esempio, utilizzando il comando cd ~ / Python);
  • scompattare l’archivio con il comando tar -xzvf Python-3.1.2.tgz (dove 3.1.2 è il numero della versione del codice sorgente scaricato);
  • se la nostra versione di tar non supporta l’opzione z, è possibile decomprimere l’archivio con il comando gunzip prima, per poi utilizzare il comando tar -xvf. Se c’è qualcosa che non va con l’archivio, provare a scaricarlo di nuovo. A volte si verificano errori durante il download.
  • spostarsi nella directory in cui è stato spacchettato il sorgente con il comando $ Cd Python-3.1.2
  • a questo punto eseguire i seguenti comandi:

. / Configure – prefix = $ (pwd)

make

make install

la procedura di compilazione terminerà con la creazione di un file eseguibile denominato Python posizionato nella directory corrente. (Se si dovessero vericare degli errori in fase di compilazione  consultare il file README incluso nella distribuzione.)

Installare Python dal codice sorgente su Linux

  • ora basterà aggiungere la directory corrente nella variabile d’ambiente PATH, e si sarà pronti a partire.
  • per conoscere le altre direttive di configurazione, eseguire questo comando: . / Configure – help

Dopo aver visto come installare Python dal codice sorgente, per avviarlo basterà digitare al prompt di Linux il comando:

python

per entrare nella Linux interactive shell.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Link a risorse consigliate: