Guida a Python - Corso base - Capitolo 1 : Introduzione. Note sull'indentazione
Capitolo 1: Introduzione. Cosa ci serve. Cosa è richiesto. Cosa faremo. Note sull'indentazione.
Python è un (potente) linguaggio di programmazione di alto livello.
E' un linguaggio:
- interpretato; gli script vengono scritti "in chiaro", non c'è bisogno di compilazione e linking: l'interprete Python eseguirà "quello che avete scritto" senza passaggi intermedi;
- interattivo; potete scrivere ed eseguire "al volo" degli script con una GUI interattiva propria del linguaggio, detta IDLE (maggiori dettagli in seguito);
- orientato agli oggetti; supporta la definizione di classi con metodi e campi ed ereditarierà ;
- portabile; un programma scritto in Python può essere eseguito con tutti i sistemi operativi più diffusi, e comunque è sufficiente un compilatore C per creare una versione personalizzata di Python, in quanto tale linguaggio è anche...
- ... open source !
Curiosità : è stato creato da Guido van Rossum, programmatore olandese che gli diede questo nome per via della sua passione per i Monty Python.
E' possibile scrivere script in Python in maniera interattiva, mediante la GUI di Python (detta IDLE, installata automaticamente insieme al linguaggio), oppure con un editor di testo o un IDE (i file sorgente scritti in linguaggio Python sono tutti in chiaro !) salvando il tutto in un file con estensione .py; in questo caso, vi basterà scrivere nel prompt dei comandi del sistema (o creare un file batch che esegua tale comando, o altre soluzioni...):
Python [nomeFilePython].py
per eseguire lo script.
Per eseguire Python in maniera interattiva, vi basterà aprire l'IDLE e... cominciare a scrivere !
Il prompt dell'IDLE è identificato mediante il simbolo >>>.
Scrivete ad esempio:
>>> print "Ciao !"
e premete Invio. Avete appena fatto conoscenza con la funzione print, che stampa a video un valore e che verrà usata molte volte nel corso della guida.
Imparare il linguaggio Python è di fondamentale importanza se si desidera imparare ad estendere Blender mediante script, in quanto gli script per Blender vanno scritti proprio in Python.
Questa guida, comunque, NON è una guida di programmazione "da zero", non insegna le basi della programmazione ad oggetti (la conoscenza del concetto di classe, ad esempio, è data per scontata), ma vuole essere un'introduzione alla sintassi e alle funzionalità di base di Python per chi ha già qualche esperienza di programmazione, ma non conosce (ancora) tale linguaggio.
La guida, essendo "di base", NON tratterà , inoltre, argomenti quali la definizione di GUI, l'interazione con la rete, l'interazione con i database o il multithreading, che sono tutti argomenti "avanzati" ai quali sarà dedicata una guida ad hoc.
Python è facilmente estendibile mediante l'importazione di librerie esterne (dette moduli), cosa che consente di aggiungere classi e metodi già disponibili per implementare particolari funzioni senza dover inventare nuovamente la ruota o creare applicazioni multimediali, o che interagiscano con i database, ecc....
Per importare un modulo, è sufficiente scrivere:
import [nome modulo]
e premere Invio; provate a digitare, ad esempio, nell'IDLE le seguenti istruzioni:
>>> # Commento. Le righe di commento in Python iniziano col simbolo 'cancelletto'
>>> # Questo script genera un numero casuale compreso tra 1 e 100 e lo stampa a video. Fa uso del metodo randrange di random del modulo random
>>> import random >>> n = random.randrange(1,100) >>> print n 4 >>>
Avete appena importato il modulo "random", che mette a disposizione vari metodi per generare numeri casuali (random, appunto); tra questi metodi, abbiamo randrange, che genera un intero casuale del valore compreso in un intervallo specificato (nel nostro caso, tra 1 e 100); con print, poi, abbiamo stampato a video il valore contenuto nella variabile n, alla quale avevamo assegnato il numero casuale generato mediante il metodo randrange.
La documentazione ufficiale di Python, completamente gratuita, è disponibile a questo link: http://docs.Python.org/3.1/download.html .
Prima di iniziare, comunque, una nota importantissima sul concetto di BLOCCO DEFINITO CON L'INDENTAZIONE: in Python, la delimitazione dei blocchi non avviene mediante l'uso di parentesi graffe o istruzioni di chiusura (es.: end, end if, ...), ma semplicemente RIENTRANDO il testo delle istruzioni, ossia mediante l'indentazione, con una o più (cicli annidati, blocchi annidati) pressioni del tasto TAB.
Nella maggior parte dei casi, comunque, al termine della dichiarazione di inizio di un blocco (if, for, ...) o di una classe o di una funzione, sarà necessario aggiungere il simbolo : (due punti) alla fine del rigo, cosa che ci aiuterà a riconoscere l'inizio del blocco. I vari casi saranno trattati comunque uno per uno nel corso della guida.
Esempio 1 --- Definizione di due for annidati in Python:
>>> for i in range(1,10):
for j in range(1,10):
print i*j
# Qui sono ancora dentro il ciclo di i, ma fuori da quello di j (1 solo "colpo di TAB")
# Qui sono fuori da entrambi i cicli (niente indentazione)
Esempio 2 --- Definizione di una classe contenente un campo e un metodo in Python:
>>> class rettangolo: lato1 = 0 def __init__(self, l1, l2): self.lato1 = l1 self.lato2 = l2 >>> # Qui sono fuori dalla classe (niente indentazione)
L'uso dell'indentazione è OBBLIGATORIO: l'interprete Python valuterà come errati (errore di sintassi) gli script privi dell'indentazione (ove richiesta).
Iniziamo quindi a conoscere i vari tipi di dati disponibili in maniera "nativa" in Python e i metodi che ci consentono di lavorare con i dati; passeremo, poi, alle istruzioni dedite al controllo del flusso del programma (costrutto if, cicli for e while), alle funzioni, alle classi (con ereditarietà ) ed infine alle istruzioni di base per effettuare operazioni di input-output con i file.
|