Di seguito farò una breve introduzione al linguaggio, il post è indirizzato a chi è alle prime armi con Python e non è assolutamente adatto a quelli che il linguaggio lo conoscono già bene!
Settimanalmente aggiungerò dei capitoletti a questa semplice guida, quindi seguite il blog e sarete in costante aggiornamento!
NB: Gli script cambiano leggermente in base all'OS in uso.
Buona lettura!
Python è distribuito con licenza Open-Source approvata dalla OSI: il suo utilizzo è gratuito e libero anche per prodotti commerciali.
Ad esempio:
cat in C++ (cat.cc)
Apriamo un terminale e invochiamo l'interprete, supponiamo di voler sommare 2 a 4, allora scriviamo:
Oppure possiamo eseguire diverse operazioni sulla stessa riga:
Settimanalmente aggiungerò dei capitoletti a questa semplice guida, quindi seguite il blog e sarete in costante aggiornamento!
NB: Gli script cambiano leggermente in base all'OS in uso.
Buona lettura!
Cos'è Python?
Python è un linguaggio di programmazione potente e di facile apprendimento. Utilizza efficienti strutture dati di alto livello e un semplice ma efficace approccio alla programmazione orientata agli oggetti. L'elegante sintassi di Python e la tipizzazione dinamica, unite alla sua natura di linguaggio interpretato, lo rendono ideale per lo scripting e lo sviluppo rapido di applicazioni in molte aree diverse e sulla maggior parte delle piattaforme.
Perchè Python
Python gira su Windows, Linux/Unix, Mac OS X, OS/2, Amiga, palmari Palm e cellulari Nokia; è stato anche portato sulle macchine virtuali Java e .NET.Python è distribuito con licenza Open-Source approvata dalla OSI: il suo utilizzo è gratuito e libero anche per prodotti commerciali.
Invocare l'interprete
Per invocare l'interprete è sufficiente digitare da console:python
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:05:24) [GCC 4.5.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>
Script Python eseguibili
Sui sistemi UNIX in stile BSD, gli script Python possono essere resi direttamente eseguibili, come per gli script di shell, ponendo all’inizio dello script la riga#! /usr/bin/env python
(dato per scontato che l’interprete si trovi nel PATH dell’utente) e dando al file il permesso di esecuzione. I caratteri "#!" devono essere i primi due del file. Su qualche piattaforma, questa prima riga terminerà in stile UNIX (‘\n’), non in Mac OS (‘\r’) o in Windows (‘\r\n’). Si noti che il carattere hash "#" (NdT: in italiano cancelletto, diesis) viene usato in Python per iniziare un commento). Lo script può essere reso eseguibile, modificandone i permessi, usando il comando chmod: $ chmod +x myscript.py
I commenti in python
In Python i commenti iniziano con il carattere "hash", "#" e continuano fino alla fine della riga. Un commento può comparire all’inizio di una riga, dopo degli spazi bianchi o dopo del codice, ma non dentro una stringa costante. Un carattere hash dentro una stringa costante è solamente un carattere hash.Ad esempio:
intero = 1 # questo è un intero stringa = "ciao a tutti" # stampa un commento pint stringa # su piu' righe
Passaggio di argomenti all'inteprete
Gli argomenti addizionali sono passati allo script tramite la variabilesys.argv
, che è una lista di stringhe. print "Gli argomenti sono:\n" for arg in sys.argv: print argUsiamo il programma così:
python test1.py -argomento1 -argomento2 -ecc
che restituirà il seguente outputGli argomenti sono: test1.py -argomento1 -argomento2 -eccCome potete vedere, tutti i valori vengono passati da riga di comando. Per programmi semplici che prendono un solo argomento e non hanno flag, potete semplicemente usare
sys.argv[1]
per leggere l'argomento. Per programmi più complessi invece dovete usare: getopt
.Semplice "cat" in C++ e Python
Voglio mostrarvi come python semplifichi molto la lettura di stringhe e caratteri da un file esterno.cat in C++ (cat.cc)
using namespace std; #includecat in Python (cat.py)#include #include int main(int argc, char **argv) { fstream myfile; string line; if(argc != 2) { cout << "Usage: " << argv[0] << " \n"; exit(0); } myfile.open(argv[1], ios::in); while(!myfile.eof()) { getline(myfile,line); cout << line << endl; } myfile.close(); return 0; }
#! /usr/bin/env python
import sys
inputfile = open(sys.argv[1], 'rb')
data = inputfile.read()
print data
inputfile.close()
Come potete vedere con Python potete eseguire le stesse operazioni con metà righe, ma la cosa che personalmente preferisco è che non dovete compilare per poi aprire il vostro eseguibile, il file sorgente è già "eseguibile"!La gestione dei numeri con Python
La gestione dei numeri è estremamente comoda con pyhton! Se ad esempio con C volete sommare due numeri dovete creare un file che includa una libreria, creare 2 variabili, prelevare l'input da tastiera, salvare tale input nella variabile,... ecc.. con python invece è semplicissimo!Apriamo un terminale e invochiamo l'interprete, supponiamo di voler sommare 2 a 4, allora scriviamo:
$ python Python 2.7.1+ (r271:86832, Apr 11 2011, 18:05:24) [GCC 4.5.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> 2 + 4 6e poi diamo "Enter". L'interprete chiaramente ci restituirà
6
.Oppure possiamo eseguire diverse operazioni sulla stessa riga:
>>> 10 + 15 - 6 / 3 23
Le stringhe
Oltre ai numeri, Python può anche manipolare stringhe, che possono essere espresse in diversi modi. Possono essere racchiuse tra apici singoli o virgolette:>>> 'ciao a tutti' 'ciao a tutti' >>> 'l\'albero' "l'albero" >>> "l'albero" "l'albero" >>> '"citazione" - di qualcuno.' '"citazione" - di qualcuno.'Le stringhe costanti possono estendersi su più righe in modi diversi. Si possono scrivere lunghe righe usando il cosiddetto carattere di "escape" come ultimo carattere di riga, questo indicherà che la riga successiva sarà in realtà la logica continuazione della precedente:
>>> stringa = "ciao\na\ntutti" >>> print stringa ciao a tuttiSe avessi scritto:
>>> stringa = "ciao\n a\ntutti" >>> print stringaAvrebbe prodotto il seguente output, dato che anche gli spazi sono significativi:
ciao a tutti
Assegnare un valore ad una variabile
Come in C, C++, Java, .. il simbolo (=) è usato per assegnare un valore ad una variabile.>>> larghezza = 20 >>> altezza = 5*9 >>> larghezza * altezza 900Lo stesso valore può essere assegnato a variabili diverse.
>>> x = y = z = 0 >>> print x, y, z 0 0 0 >>> x = 2 >>> y = x >>> z = x >>> print x, y, z 2 2 2
Le liste
Python riconosce una certa quantità di tipi di dati composti, usati per raggruppare insieme altri valori. Il più versatile è il tipo lista, che può essere scritto come una lista, compresa tra parentesi quadre, di valori (gli elementi della lista) separati da virgole. Gli elementi della lista non devono essere necessariamente tutti dello stesso tipo.>>> lista = ['ciao', 'mondo', 100, 5678] >>> lista ['ciao', 'mondo', 100, 5678]Come per le stringe, se volete accedere all'n-esimo elemento della lista dovete scrivere:
>>> nome_lista[indice_elemento] elemento ritornatoAd esempio per la lista scritta sopra:
>>> lista[1] 'mondo'Per le liste ci sono una serie di operazioni (merge, append, sort, .. , ecc) utili ed interessanti spiegate in modo esaustivo nel manuale.
Commenti
Posta un commento
Gli autori non sono responsabili per quanto pubblicato dai lettori nei commenti ad ogni post. Verranno cancellati i commenti ritenuti offensivi o lesivi dell’immagine o dell’onorabilità di terzi, di genere spam, razzisti o che contengano dati personali non conformi al rispetto delle norme sulla Privacy e, in ogni caso, ritenuti inadatti ad insindacabile giudizio degli autori stessi.