Category Archives: Python

La sintassi di Python

python

La sintassi di Python lo rende perfetto per la costruzione di semplici DSL da utilizzare all’interno della propria applicazione, grazie alla sua sintassi ed alle sue funzionalità di metaprogrammazione.

Abbiamo già specificato che Python è totalmente Object Oriented, questo si traduce nel fatto che in Python tutto è un oggetto. In tale aspetto riesce a surclassare il linguaggio ad oggetti per eccellenza e cioè Java in quanto in Python non esiste nessuna distinzione tra tipi base e oggetti, allo stesso tempo la programmazione orientata agli oggetti in Python non risulta ne invasiva ne fastidiosa, e ciò è dovuto alla sua maggior purezza.

Una caratteristica particolarmente gradita dai programmatori Python è stata la possibilità di utilizzare i cosiddetti blocchi che rappresentano una feature non comune nei linguaggi più diffusi e che permettono di rappresentare diversi problemi, anche molto diversi tra loro, con modalità chiare e significative.

python

Il Python risulta amato, allo stesso modo, dai programmatori professionisti che ne apprezzano le caratteristiche più avanzate, e dai principianti in quanto si presenta particolarmente adatto ad essere imparato come primo linguaggio.

Infatti grazie alla sua semplicità, è possibile apprendere le nozioni di base della programmazione, senza doversi preoccupare di innumerevoli convenzioni e aspetti non strettamente legati alla realizzazione degli algoritmi numerici.

Inoltre Python si presenta efficacemente espressivo in quanto fornisce molte strutture dati e tipi built-in ( i tipi built-in rappresentano dei tipi già definiti all’interno del linguaggio); esempi sono:

  • dict,
  • liste,
  • regexp,
  • numeri interi di dimensione arbitraria.

La sintassi di Python fa si che le classi presentino un’interfaccia molto dettagliata, che determina una semplicità nell’utilizzo nelle operazioni comuni.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Link a risorse consigliate:

Le caratteristiche peculiari di Python

python

Le caratteristiche peculiari di Python lo rendono un linguaggio di programmazione soprattutto semplice, il suo utilizzo si apprende in pochi giorni, senza presentare grosse difficoltà grazie ad una sintassi snella e davvero pratica; in aggiunta presentando a corredo un numero davvero corposo di librerie incluse nella distribuzione ed integrabili con quelle installabili, si rende possibile, come già anticipato  realizzare i nostri programmi in brevissimo tempo.

Python si presenta particolarmente dinamico, un esempio è fornito dal fatto che le variabili possono essere tranquillamente utilizzate senza la necessità di dichiararne il tipo, sarà allora l’interprete in grado di identificarle; tutto questo però senza perdere in precisione in quanto le operazioni non consentite tra tipi diversi provocheranno un errore, cioè non potrà mai accadere, in modo più o meno nascosto, che un valore di un certo tipo venga utilizzato come se fosse di tipo diverso (strong typing).

Grazie a questo un operazione del tipo 1+”2″ (somma di un numero e di una stringa) determinerà un errore di runtime, diversamente da linguaggi come php o perl che invece non permettono un controllo analogo.

python

In Python è possibile manipolare le classi ed i metodi a runtime, cioè possono essere aggiunti, cancellati o modificati. In questo modo molte delle cose che negli altri linguaggi rappresentano delle strutture complesse possono in Python costituire dei semplici metodi; è altresì possibile aggiungere classi e metodi personalizzati, creando dei Domain Specific Language (DSL). Un Domain Specific Language è un minilinguaggio adatto ad uno specifico problema, l’ideale sarebbe avere un linguaggio per ogni scopo, ma senza il problema di doverlo ogni volta imparare da zero.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Link a risorse consigliate:

Le origini del linguaggio Python

python

Lo sviluppo di Python inizia nel 1989 al National Research Institute for Mathematics and Computer Science (CWI) di Amsterdam ad opera di Guido Van Rossum, che vi lavora come ricercatore. L’idea è quella di implementare in maniera più efficiente i concetti alla base di ABC (All Basic Code), un linguaggio di programmazione pensato per essere facilmente appreso e utilizzato da persone che non avessero alcuna esperienza o conoscenza di progettazione e sviluppo software. Le origini del linguaggio Python nascono dall’esigenza del gruppo di lavoro cui Van Rossum partecipava, di avere a disposizione un linguaggio di scripting per Amoeba, un prototipo di sistema operativo distribuito al quale stavano lavorando.

C’è da precisare che il nome che Van Rossum attribuì al linguaggio non ha niente a che vedere con il rettile che tanto terrore ha disseminato sulla terra. Il nome fu il frutto di un’intera nottata a pensare ad un nome che fosse corto, unico e originale; alla fine fu evidentemente ispirato da una serie televisiva che la BBC trasmetteva agli inizi degli anni 70 “ The Monty Python’s Flying Circus ”.

Sulla nascita del linguaggio l’autore tiene a precisare: “ nel dicembre del 1989, ero alla ricerca di un progetto di programmazione per tenermi occupato durante le vacanze natalizie. Il mio ufficio… sarebbe stato chiuso, e non avrei avuto altro tra le mani che il mio computer di casa. Allora decisi di scrivere un interprete per il nuovo linguaggio di scripting che avevo in mente di recente un discendente del linguaggio ABC ”.

python

Van Rossum cominciò realizzando un semplice parser e una semplice macchina virtuale, riciclando le parti migliori di ABC. La prima release del linguaggio fu resa pubblica nel Febbraio del 1991 e, per un lungo periodo, lo sviluppo di Python è stato eseguito nei laboratori del CNRI a Reston negli Stati Uniti.

Nel giugno del 2000, il team di sviluppo di Python si trasferisce a PythonLabs, una organizzazione facente parte del network BeOpen, con il compito di sviluppare il linguaggio Python. Tale team annoverava tra gli sviluppatori anche il suo ideatore Guido Van Rossum. Il 27 ottobre 2000 l’intero PythonLabs Team ha lasciato BeOpen.com a causa di alcuni disaccordi reciproci in merito al futuro di Python.

Il team ha lavorato per Digital Creations creando il framework Zope e Guido Van Rossum ha creato una organizzazione non-profit chiamata Python Software Foundation (PSF), al fine di curare gli sviluppi futuri di Python. In questa lezione abbiamo approfondito le origini del linguaggio Python.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Link a risorse consigliate:

I commenti in Python

python

Commentare in Python è un’operazione che per certi versi si presenta molto diversa rispetto ad altri linguaggi, ma è abbastanza facile abituarsi a questo nuovo modo di inserire del testo esplicativo nei nostri codici.

In Python ci sono fondamentalmente due modi per commentare un programma:

  •   singola linea di commento
  •   linea multipla di commento

La linea singola di commento è utilizzata per inserire un commento breve (o per il debug), mentre la linea multipla di commento è spesso usata per descrivere qualcosa di molto più dettagliato.

commenti.python

Vediamo allora qualche esempio esplicativo per meglio comprendere i concetti fin qui introdotti. Iniziamo con la singola linea di commento:

print(“Questo non è un commento”)
#print(“Questo invece è un commento”)

Allora quando l’interprete incontra il simbolo #(cancelletto) ignora tutto quello che segue il simbolo fino alla fine della riga. Potremmo anche scrivere in questo modo:

print(“Questo non è un commento”)#Stampa di una stringa di testo

Per quanto riguarda invece la linea multipla di commento utilizzeremo il simbolo ”’, vediamo come:

”’
print(“Questo non è un commento”)
print (“Ulteriore riga di commento”)
”’
print(“Questo non è un commento”)

I commenti rappresentano una utile risorsa per il programmatore in quanto ci permettono di inserire del testo esplicativo molto prezioso nell’ottica di riusabilità del codice, ma si rendono particolarmente efficaci anche nella fase di debugging del codice in cui l’inserimento di strighe di testo ci aiuta nell’individuare possibili bug del nostro programma.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Link a risorse consigliate:

Gli operatori aritmetici in Python

python

Vediamo ora come eseguire dei semplici calcoli in ambiente Python. Supponiamo di voler utilizzare il prompt di Python come una semplice calcolatrice, allora scriveremo:

>>> 6 + 5
11

Qui abbiamo visualizzato il risultato di una operazione aritmetica: la somma di cinque e sei. Python riconosce i numeri ed il segno di addizione e li somma. Quindi mostra il risultato.

Tutti gli operatori aritmetici possono essere utilizzati:

addizione (+)
sottrazione (-)
moltiplicazione (*)
divisione (/)

Possiamo allora combinare diverse operazioni per ottenere espressioni multiple:

>>> ((5 * 4) + (6 – 3)) / (1 + 4)
4.6

Nell’espressione che abbiamo appena visto è possibile notare come Python utilizzi le parentesi per eseguire le operazioni sui numeri,queste determinano delle variazioni nell’ordine in cui vengono eseguite le stesse.

operatori.aritmetici.python

Vediamo cosa accade se si scrive la stessa sequenza senza le parentesi:

>>>5 * 4 + 6 – 3/ 1 + 4
27.0

Come è possibile notare il risultato è del tutto diverso e dipende dal fatto che Python calcola le moltiplicazioni e le divisioni prima delle somme e sottrazioni, secondo quanto dettato dalle regole imposte dall’algebra.

Tali regole sono imposte da tutti i linguaggi di programmazione e servono per determinare la sequenza di valutazione delle operazioni che va sotto il nome di precedenza fra operatori.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Link a risorse consigliate:

Come definire le stringhe in Python

python

Una stringa viene identificata attraverso l’impiego delle virgolette. Nella definizione di una stringa in Python  possono essere utilizzate sia le virgolette semplici  che quelle doppie: ” stringa”.

Questa duplice possibilità nell’utilizzo dell’identificatore ci permette di includere un tipo di virgolette in una stringa racchiusa con virgolette dell’altro tipo, cosa indispensabile ad esempio nell’impiego dell’apostrofo.

Per meglio comprendere quanto detto, vediamone un esempio:

>>> print “Stringa che contiene l’apostrofo…”

Vediamo nel dettaglio in quanti modi sia possibile definire una stringa:

  •   Con singoli apici: ‘Stringa in Python!’
  •   Con doppi apici: ” Stringa in Python!”
  •   Sequenze di escape: “Digita il comando \”ls\””
  •   Attraverso l’impiego delle funzioni di trasformazione da altri tipi di valori: str(1111), str(11.11), str(11.1+1j)
  •   Infine le stringhe multilinea con l’adozione di tre apici (singoli o doppi).

stringhe.python

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Link a risorse consigliate:

Il prompt di Python

python

Per essere immediatamente operativi iniìziamo a vedere il più semplice dei programmi che possiamo scrivere: e cioè una semplice sequenza di comandi.

Il prompt di Python sarà del tipo:

Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:06:53) [MSC v.1600 64 bit (AM
D64)] on win32
Type “help”, “copyright”, “credits” or “license” for more information.
>>>

Iniziamo allora a lavorare con il prompt di Python, scrivendo direttamente i singoli comandi, allora stampiamo a video il saluto del programmatore:

>>> print (‘Ciao mondo!’)
Ciao mondo
>>>

Come sarà possibile verificare il comando print non fa altro che chiedere a Python di mostrarci a video la stringa contenuta tra le parentesi. Nel nostro caso scriverà la sequenza di caratteri ‘Ciao mondo’.

python.prompt

Tale sequenza di caratteri è definita nel gergo dei programmatori stringa di caratteri o semplicemente stringa.

LINK CORRELATI ALL’ARGOMENTO:

Link a risorse consigliate: