Introduzione

Python è un linguaggio di programmazione creato da Guido van Rossum nei primi anni 90 il cui nome è ispirato alla commedia inglese troupe “Monty Python”. È un linguaggio simile a Perl, ma con una sintassi molto pulita favorendo la lettura del codice.
Cos'è Python?
Si tratta di un linguaggio interpretato o di script, con tipizzazione dinamica, fortemente tipizzato, multipiattaforma e object-oriented.
Linguaggio interpretato o script
Un linguaggio interpretato o di script è quello che viene eseguito utilizzando un programma intermedio chiamato interprete, anziché attraverso la compilazione del codice ad un linguaggio macchina che possa capire ed eseguire un computer direttamente (linguaggi compilati).
Il vantaggio dei linguaggi compilati è che la loro esecuzione è più veloce. Tuttavia linguaggi interpretati sono più flessibili e più portabili.
Python ha, tuttavia, molte delle caratteristiche dei linguaggi compilati, e così si potrebbe dire che è semi interpretato. In Python, come in Java e come in molti altri linguaggi, il codice macchina intermedio viene tradotto in uno pseudo codice chiamato bytecode che verrà eseguito la prima volta e generarà i files .pyc o .pyo (bytecode ottimizzato), che si eseguiranno le volte successive.
TipaTo dinamico
La caratteristica di tipizzazione dinamica determina il suo tipo in fase di esecuzione a seconda del tipo del valore assegnato e il tipo di tale variabile può cambiare se viene assegnato un valore di un altro tipo.
Fortemente tipizzati
Non è consentito trattare una variabile come se fosse di un tipo diverso da quello che è. È necessario convertire esplicitamente in anticipo la variabile al nuovo tipo. Per esempio, se abbiamo una variabile che contiene un testo (variabile di tipo stringa o string) non possiamo trattarla come un numero (fare la somma tra la stringa “9” e il numero 8). In altre linguaggi il tipo di variabile si modifica per adattarsi al comportamento atteso, anche se questo è più soggetto ad errori.
Multiplataforma
L’interprete Python è disponibile su molte piattaforme (Unix, Solaris, Linux, DOS, Windows, OS/2, Mac OS, ecc.) Quindi, se non si utilizza librerie specifiche per ogni piattaforma il nostro programma si potrà eseguire in tutti questi sistemi senza grandi modifiche.
Orientato a oggetti
L’orientamento agli oggetti è un paradigma di programmazione in cui i concetti del mondo reale rilevanti per il nostro problema si spostano alle classi e agli oggetti nel nostro programma. L’esecuzione del programma consiste in una serie di interazioni tra gli oggetti.
Python permette inoltre la programmazione imperativa, la programmazione funzionale e la programmazione object-oriented.
Perché Python?
Python è un linguaggio che tutti dovrebbero conoscere. La sua sintassi semplice, chiara e semplice, la tipizzazione dinamica, il gestore della memoria, il gran numero di librerie disponibili e la potenza del linguaggio, fa che che lo sviluppo di un’applicazione in Python sia semplice, molto veloce e, soprattutto, divertente.
La sintassi di Python è così semplice e vicino al linguaggio naturale che i programmi sviluppati in Python assomigliano ad uno pseudocodice. Per questo motivo è anche uno dei migliori linguaggi per iniziare la programmazione.
Python, tuttavia, non è adatto per la programmazione a basso livello o per applicazioni le cui prestazioni sono critiche.
Alcuni casi di successo nell’uso di Python sono Google, Yahoo, la NASA, Industrial Light & Magic, e tutte le distribuzioni Linux, in cui Python ha una percentuale sempre maggiore sui programmi disponibili.
Installazione di Python
Ci sono diverse implementazioni di Python: CPython, Jython, IronPython, PYPY, ecc.
CPython è la più utilizzata, è la più veloce e la più matura. Quando si parla di Python di solito ci si riferisce a questa implementazione. In questo caso, sia l’interprete che i moduli sono scritti in C.
Jython è l’implementazione in Java di Python, mentre IronPython è la sua controparte in C# (. NET). Il suo interesse è che con l’utilizzo di queste implementazioni è possibile utilizzare tutte le librerie disponibili per i programmatori Java e .NET.
PYPY, infine, come avrete intuito dal nome, è un’implementazione in Python di Python.
CPython è installato di default in molte distribuzioni Linux e nelle ultime versioni di Mac OS. Per controllare s’è installato, aprire un terminale e digitare python. Se è installato si avvia Python nella console interattiva con il seguente aspetto:
			Python 2.5.1 (r251:54863, May 2 2007, 16:56:35)
			[GCC 4.1.2 (Ubuntu 4.1.2-0ubuntu4)] on linux2
			Type "help", "copyright", "credits" or "license" for more information.
			>>>
La prima riga indica la versione di Python che abbiamo installato. Alla fine possiamo vedere il prompt (>>>) che indica che l’interprete è in attesa del input dell’utente.Per uscire dal terminale possiamo scrivere exit (), oppure premendo i tasti Ctrl + D.
Se non mostra il prompt non ti preoccupare, l’installazione di Python è molto semplice. È possibile scaricare la versione corrispondente al sistema operativo dal sito web di Python [Area Download]. Ci sono programmi di installazione per Windows e Mac OS. Se si utilizza Linux è molto probabile che sia possibile installarlo utilizzando il gestore dei pacchetti della propria distribuzione, anche s’è possibile scaricare l’applicazione compilata dal sito web di Python.
Strumenti di base
Ci sono due modi per eseguire il codice Python. Possiamo scrivere righe di codice nel terminale per ottenere una risposta dall’interprete per ogni riga (sessione interattiva) o possiamo scrivere il codice del programma in un file di testo ed eseguirlo.
Quando si esegue una sessione interattiva vi consiglio di installare e utilizzare IPython al posto della shell interattiva di Python. iPython ha aggiunto alcune caratteristiche molto interessanti, come l’autocompletamento o l’operatore ?. (Per attivare la funzione di completamento automatico in Windows è necessario installare PyReadline)
La funzione di completamento automatico si lancia premendo il tasto TAB. Se scriviamo fi e premiamo Tab ci mostrerà una lista degli oggetti che iniziano con fi (file, filter y finally). Se scriviamo file. e premiamo il tasto Tab ci mostrerà un elenco di metodi e proprietà dell’oggetto file. L’operatore ? mostra le informazioni sugli oggetti. Si utilizza con l’aggiunta del punto interrogativo dopo il nome dell’oggetto che vogliamo avere informazioni. Ad esempio
			In [3]: str?
			Type: type
			Base Class:
			String Form:
			Namespace: Python builtin
			Docstring:
			str(object) -> string
			Return a nice string representation of the object.
			If the argument is a string, the return value is the same object.
Nel campo delle IDE e degli editori di codice gratuiti PyDev si trova come testa di serie. PyDev è un plugin per l’IDE di Eclipse, e permette di utilizzare questa piattaforma per programmare in Python. Ha l’autocompletamento del codice (comprese le informazioni su ogni elemento), l’evidenziatore della sintassi, un debugger grafico, l’evidenziatore degli errori, un navigatore tra le classi, la formattazione del codice, il refactoring, ecc. Senza dubbio è l’opzione più completa, soprattutto se installiamo le estensioni commerciali, ma ha bisogno di una notevole quantità di memoria e non è completamente stabile.
Altre opzioni gratuite da considerare sono SPE o Stani’s Python Editor, Eric, BOA Constructor o anche emacs o vim.
Se non ti dispiace tirare fuori un po’ di denaro, Komodo e Wing IDE sono anche buone scelte, con un sacco di caratteristiche interessanti come PyDev, ma molto più stabili e robusti. Inoltre, se si sviluppa del software libero non commerciale è possibile contattare e ottenere, con un po’ di fortuna, da Ware Wing una licenza gratuita per l’IDE professionale di Wing.


Similari
Overloading di metodi in Java
12% Java
Un metodo overload viene utilizzato per riutilizzare il nome di un metodo ma con argomenti diversi, opzionalmente con un differente tipo di ritorno. [expand title=”Regole per overload” startwrap=”” endwrap=”” excerpt=”⤽” s…
Modi di fare e di non fare in Python
11% Python
Questo documento può essere considerato un compagno del tutorial di Python. Viene illustrato come utilizzare Python, e quasi ancora più importante, come non usare Python. [expand title=”Costrutti del linguaggio che non dov…
redirect 301 usando mod_alias
9% Server
mod_alias è fondamentalmente la versione più semplice di mod_rewrite. Non può fare le cose che fa mod_rewrite, ad esempio modificare la stringa di query. Per eseguire reindirizzamenti nel server web Apache è possibile di u…
Installare Python e Django su Windows
8% Django
Quando ci riferiamo allo sviluppo web con Python, la prima cosa che viene in mente è usare un qualche framework. Il più famoso e utilizzato da tutti è il Django, ma non è l’unico. Ci sono Pylons, Grok, TurboGears e Zope: t…
Metodi magici e costanti predefinite in PHP
8% Php
PHP fornisce un insieme di costanti predefinite e metodi magici per i nostri programmi. A differenza delle normali costanti i quali si impostano con define(), il valore delle costanti predefinite o speciali dipendono da do…