Introduzione a Python per utenti Windows

Avvertenza

Per chi legge abitualmente i miei post e quelli del dr. prof G. Lipari e per lo stesso dr. prof niente panico! Ho promesso di fare una piccola introduzione alla programmazione per chi non è addentro alla suddetta arte magica. E, poverini, usano M$ Windows.
Ogni promessa è debito per cui ecco la prima puntata, facile-facile. Commenti, richiesta di chiarimenti e segnalazione di errori sono benvenuti.

Installazione di Python
È la cosa più semplice che si possa immaginare. Ci sono riuscito anch’io ;-)
Apriamo il nostro browser abituale (Firefox o Internet Explorer o quello che è) e andiamo alla pagina http://www.python.it/download/, facciamo click sul link Python 2.7: Installer per Windows x86 MSI (Pacchetto binario per Windows, non include i sorgenti)

A seconda delle impostazioni e della versione di Windows che usate le cose possono variare, compare comunque una finestra che vi propone di installare o salvare su disco. Nel primo caso è tutto OK, installate tutto come vi propone, nel secondo dovrete recuperare il pacchetto scaricato (probabilmente in documenti / download) e lanciarlo con doppio-click.
Al termine di questa operazione avrete l’ambiente di programmazione di Python installato sul vostro computer e, come direbbe Vanna Marchi, sarete pronti a diventare programmatori esperti in poche facili lezioni direttamente a casa vostra, in tutt’Italia, isole comprese.
Anzi se leggete il ‘tagliano nell’intero Universo Mondo :-)

Facciamo conoscenza con Python

Facendo click su Start troverete nel menu Python 2.7. Sul mio PC, appare così:

Per iniziare selezioniamo IDLE (Python GUI), si apre una finestra dove l’interprete Python è pronto a interagire con noi.
Riporto di seguito il verbale con la trascrizione della sessione da me effettuata, pochi instati fa. Il verbale è trascritto con questo font, i comandi sono in neretto, i commenti sono con il font usuale.

Python 2.7 (r27:82525, Jul  4 2010, 09:01:59) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.

È tradizione iniziare facendo scrivere al programma “Hello World!”, quindi


>>> print "ciao a tutti!"
ciao a tutti!

Si possono anche usare sequenze speciali, lo faremo in futuro, per adesso osserviamo cosa produce \n

>>> print "ciao a tutti!\ndalla shell di Python"
ciao a tutti!
dalla shell di Python

quindi \n significa “a capo” (newline in piemontese).

Possiamo memorizzare dei dati dentro delle variabili. Usiamo a e b come variabili, così:

>>> a=5
>>> b=4

per sapere quanto vale a basta scrivere

>>> a
5

e anche

>>> a+b
9

e naturalmente possiamo memorizzare l’espressione in un’altra variabile, c nel nostro caso:

>>> c=a+b
>>> c
9

naturalmente si può anche scrivere

>>> print c
9

>>> p=2*3
>>> p
6

La per la moltiplicazione si usa *.
Adesso la divisione, usando /, attenzione:

>>> a=3
>>> b=4
>>> c=a/b

Quanto vale c?

>>> c
0

ops! Ma ha ragione: sia il numeratore che il denominatore sono interi, quindi risulta intero anche il risultato. Se uno dei due operandi è reale il risultato sarà reale:

>>> r=3.0
>>> cr=r/b
>>> cr
0.75

Nelle variabili possiamo memorizzare diversi tipi di dati:

>>> txt = "questa è una stringa, cioè una sequenza di caratteri"
>>> txt
'questa \xe8 una stringa, cio\xe8 una sequenza di caratteri'

ops! ha difficoltà con le lettere accentate! Da buon ‘merikano usa, se non diversamente specificato, la tabella ASCII limitata ai caratteri compresi tra 0 e 127. Vedremo com’è facile dirgli di essere ragionevole.

Un piccolo assaggino di cosa ci aspetta. Oltre che numeri, variabili e operatori aritmetici ci sono le istruzioni. Ecco un ciclo for:

>>> for c in range 10:

SyntaxError: invalid syntax

ops! anche i grandi sbagliano, figurarsi io. Dimenticato le parentesi:

>>> for c in range(10):
    print c

Notare come l’interprete Python sia rientrato automaticamente di un tab perché si aspetta altri dati, il corpo del for in questo caso. Per dirgli che il blocco è terminato lasciamo una riga vuota. Otterremo:

0
1
2
3
4
5
6
7
8
9

cioè i numeri nell’intervallo da 0 a 10, 10 escluso. Approfondiremo questi concetti in futuro, per intanto notare che: 1) parte da 0; 2) il ciclo termina prima del limite superiore (10).

Esempi di istruzioni condizionali, if, operatori logici >:

>>> a=5
>>> if a > 3:
    print "grosso"

grosso
>>> a > 3
True
>>> a > 10
False

Python non si spaventa se gli chiediamo di fare operazioni con numeri molto grandi. Per elevare a potenza usiamo **, quindi

>>> googol = 10**100
>>> googol
10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000L

Notare la L finale, significa che il numero è lungo (long in piemontese).
La funzione str() trasforma il numero in una stringa, quindi:

>>> gst = str(googol)
>>> gst
'10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'

Notare gli apici iniziale e finale, è una stringa.
La funzione len() restituisce la lunghezza (length) di una stringa

>>> len(gst)
101

cioè 100 zeri e un uno.

>>>

Con ctrl-D usciamo dall’interprete Python.

Ancora qui?

La prossima lezione faremo un programmino vero, basta giocare. :-D
Ah! un’ultima cosa: non chiamiamoli “programmi” ma “script“, fa parte della hybris del geek tipico ;-)

About these ads
Posta un commento o usa questo indirizzo per il trackback.

Commenti

  • medeo  Il 10/31/2010 alle 17:11

    salve, gentilmente sapreste dirmi se ci sono comandi appositi per:

    1) avere la lista dei comandi digitati fino a quel momento (magari per salvarla in un file .py)

    2) resettare l’interprete (cioè cancellare tutte le istruzioni/variabili inserite, il risultato dev’essere l’equivalente di uscire dall’interprete e rientrarci

    Many thanks
    medeo

  • juhan  Il 10/31/2010 alle 18:08

    Ciao Medeo (sui blog ci si da del tu, anche in inglese ;-)
    1) boh? a cosa serve? si potrebbe fare, se del caso, forse…
    2) idem come sopra; fai prima a chiudere e riaprire, tanto più che IDLE lo usi solo per cose molto piccole e al volo. O no?
    Però da una rapida scorsa al tuo blog vedo che sei già un utente evoluto :-D

  • nicomede  Il 10/31/2010 alle 22:06

    vada per il tu allora :-)
    1) servirebbe a copincollarlo in un file di testo, ripulirlo di quelle poche righe inutili e utilizzarlo nel proprio programma, senza dover riscrivere anche quelle poche righe di codice
    2) al solito, si evita qualche pressione di tasti, sarebbe piu’ comodo un “reset”+invio invece di “exit()” + invio + freccia su + invio.
    Noto una certa mancanza di pigrizia nel tuo approccio :-)

    • juhan  Il 11/01/2010 alle 09:29

      Allora se ho capito bene, supponiamo che dentro IDLE tu abbia scritto un pezzo di codice che vuoi tenere.
      Lo selezioni e lo copi dentro un file di testo supponiamo che il file si chiami t e il contenuto sia questo:

      >>> a=5
      >>> b=0
      >>> while a>b:
      	a -= 1
      	print a
      


      A questo punto da terminale basta dare il comando sed 's/>>>//' t > t1 e dentro t1 ti trovi il frammento di codice pulito.

  • Non solo Izzy  Il 11/01/2010 alle 17:23

    Con python io ci trafficavo proprio sotto win. A quel tempo non usavo neppure linux. E, tanto per dire, non saprei manco come fare sotto linux. Da terminale? È già tutto bello che pronto, presumo, visto che tanti programmi opensouce sono scritti in questo linguaggio di programmazione…

    • juhan  Il 11/01/2010 alle 17:59

      sì lo trovi già installato. Da terminale puoi scrivere python e ti trovi dentro la shell di Python; per provare c’è Idle uguale a quello di Windows (non so se installato di default) o devi prenderlo con Ubuntu Software Center.
      Se vuoi provare tutto quello che c’è in questo post e nei prossimi funziona anche con ‘buntu. Ed è più bello ma non diciamoglielo ai windoziani ;-)

  • laperfidanera  Il 11/01/2010 alle 23:16

    Bellino, tutto colorato!

Trackback

Lascia un Commento

Fill in your details below or click an icon to log in:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Connessione a %s...

Iscriviti

Ricevi al tuo indirizzo email tutti i nuovi post del sito.

Unisciti agli altri 37 follower

%d bloggers like this: