Tag Archives: prompt python

Installazione di Python su Windows

python

Il linguaggio Python supporta il sistema operativo Windows, anzi le performance che manifesta sono a dir poco eccellenti, anche se il sistema nativo del Python è come sappiamo Linux.

Di seguito analizzeremo le procedure di installazione di Python su Windows, analizzando in particolare la procedura dettagliata relativa ad una macchina amd con sistema operativo Windows. Si è deciso di procedere con questa simulazione in quanto su macchine Linux il pacchetto Python è di solito già presente; semmai sarà necessario solo procedere ad un aggiornamento alla versione più recente.

Ci sono essenzialmente due modi per installare Python, entrambi risultano piuttosto veloci e sfruttano la possibilità che offrono tutti gli applicativi Windows di utilizzare delle procedure di installazione automatizzate, i cosiddetti installer, attraverso i quali la fase di installazione del software si riduce da parte dell’utente alla necessità di dover cliccare, una serie di volte su dei bottoni con la scritta avanti.

python

In questo caso la cosa risulta particolarmente vantaggiosa in quanto con un solo file si riesce ad installare tutto il software necessario per poter essere immediatamente operativi.

Nel primo metodo utilizzeremo il pacchetto distribuito dalla ActiveState denominato ActivePython che produce un’installazione Windows per Python che comprende una versione completa di Python, un IDE (integrated development environment, in italiano ambiente integrato di sviluppo che aiuta i programmatori nello sviluppo del software), con un editor capace di riconoscere codice Python e quindi di evidenziare i token, più alcune estensioni di Windows per Python che consentono un accesso completo ai servizi specifici di Windows, alle sue API ed al suo registro.

ActivePython è liberamente scaricabile, tuttavia non è open source. Rappresenta un ottimo pacchetto completo che ci permette di accedere all’interprete in modo agevole e senza difficoltà; l’unica nota di demerito può essere rappresentata dal fatto che l’installer di ActivePython di solito risulta essere indietro di alcuni mesi nell’aggiornamento rispetto ai rilasci delle nuove versioni di Python.

Per il secondo metodo invece utilizzeremo il pacchetto disponibile sul sito ufficiale del linguaggio già segnalato in precedenza; anche in questo caso utilizzeremo un installer che sarà in grado di installare sulla nostra macchina sia l’interprete che la Python Gui.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Link a risorse consigliate:

Il software Python

python

Vediamo innanzitutto dove reperire il software Python da installare sulla nostra macchina per poter iniziare a programmare con Python. I pacchetti che dovremo installare sono disponibili sul sito ufficiale del linguaggio al seguente url:

http://www.python.org/

Naturalmente prima di scaricare le versioni del software dovremo informarci sul tipo di macchina a nostra disposizione e sul sistema operativo su di essa installato. Ricordiamo però che Python è disponibile praticamente per tutti i sistemi operativi in circolazione.

L’interprete Python consentirà la traduzione del nostro codice Python in un linguaggio comprensibile al nostro computer e che gli permetterà di eseguire le istruzioni in esso contenute. Nel periodo di stesura di questo libro, la versione corrente dell’inteprete Python è la 3.1.2 che rappresenta quella stabile ed è per questo che negli esempi  che ci accompagneranno nei capitoli successivi ci riferiremo a tale versione.

python

Possiamo tranquillamente scaricare il software Python dalla rete, in quanto la programmazione con Python è tutta open source e quindi liberamente scaricabile da internet dove possiamo trovare dei siti che oltre a fornire procedure dettagliate per il download della versione corrente del software forniscono anche una soddisfacente documentazione.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Link a risorse consigliate:

La portabilità di Python

python

Una caratteristica che ha determinato il successo di Python nel panorama mondiale della programmazione è stata la sua estrema portabilità; esistono versioni di Python per piattaforma Linux (suo ambiente naturale visto che qui è stato sviluppato), per sistemi operativi Unix-like, Mac OS, e Windows in tutte le sue versioni.

La versatilità di Python si manifesta nella sua interezza nel momento che esiste una versione di Python anche per l’obsoleto sistema operativo con interfaccia orientata ai caratteri MS-DOS.

python

Ma lo sviluppo di Python non si ferma alle piattaforme appena viste ma si estende a quelle che oggi vengono diffusamente utilizzate per la programmazione dei cellulari, di navigatori satellitari e quant’altro. Infine, ma non per ultimo, Python può essere utilizzato su Java e nella .NET virtual machines.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Link a risorse consigliate:

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: