Python – Seconda parte: le variabili
Ecco il secondo capitolo del linguaggio di programmazione Python dove parliamo dell’utilizzo degli operatori e delle variabili.
Regole dichiarazione delle variabili
Quando dichiariamo una variabile bisogna ricordarsi di alcune regole fondamentali:
- Devono iniziare con una lettera o un _ “trattino basso”
- Possono contenere solo lettere, numeri o _ “trattini bassi”
- Sono case sensitive
Esempi corretti: pippo asd casa1 _casa
Esempi sbagliati: 123casa $pippo 2casa casa.c2
Esempi diversi: casa Casa CASA
Operatori espressioni numeriche
- + addizione es. 2+2=4
- – sottrazione es. 10-2=8
- * moltiplicazione es.10*2=20
- / divisione es. 5/2=2
- ** potenza es 4**3=64
- % resto (resto della divisione) 5%2=5
Nelle espressioni i calcoli vengono eseguiti con la seguente precedenza:
- Parentesi
- Potenza
- Moltiplicazione / divisione
- Addizione
- Sinistra verso destra
La seguente espressione sarà risolta così: 1 + 2 ** 3 / 4 * (3+2)
- 1 + 2 ** 3 / 4 * 5 (parentesi)
- 1 + 8 / 4 * 5 (potenza)
- 1 + 2 * 5 (moltiplicazione + sinistra)
- 1 + 10 (moltiplicazione)
- 11 (addizione)
E importante ricordare le seguenti regole sulle divisioni:
- Le divisioni tra interi son troncate
- Le divisioni tra numeri con la virgola restituiscono numeri con la virgola
Quindi:
- 99 / 100 = 0
- 99.0 / 100.00 = 0.99
- 5 / 2 = 2
- 5.0 / 2.0 = 2.5
Parole RISERVATE
E necessario ricordarsi che non si possono utilizzare come variabili alcune delle parole chiave che sono riservate appunto per il linguaggio di programmazione:
and del for is raise assert elif from lambda return break
else global not try class except if or while
continue exec import pass yield def finally in print
Le variabili i tipi (type)
In python è importante distinguere tra interi (integer), numeri con la virgola (float) e stringhe (string). D’ora in poi li chiameremo per praticità con i termini in inglese.
Le differenze tra i tipi sono gestite direttamente in python pertanto “+” significa addizione se parliamo di numeri integer o float mentre assume significato concatenazione se parliamo di string.
Es.
somma = 5 + 3 print somma 8 conca = "Ci" + "ao" print conca Ciao
Per riconoscere il tipo di variabile si usa type nel seguente modo:
a = "ciao" type(a) <type 'str'>
Il risultato <type ‘str’> indica appunto che la variabile “a” è una stringa.
I Type per i numeri Integer & Float
I numeri integer sono i numeri interi positivi e negativi: -1, 10, 4328572, -29992
I numeri float sono i numeri con la virgola positivi e negativi: -9.81, 123.0, -0.00001
Quando eseguiamo una operazione tra numeri integer e float è implicito che il risulto finale sarà un numero float.
Per gestire i tipi possiamo utilizzare le funzioni float() o int()
print 99/100 0 print float(99)/100 0.99
Possiamo utilizzare int() e float() anche per convertire le stringhe in numeri, Se provassimo a convertire stringhe che non contengono numeri otterremo un errore.
a="123" type(a) <type 'str'> b = int(a) type(b) <type 'int'> a = "abc" b = int(a) Traceback (most recent call last): File "<pyshell#12>", line 1, in <module> b = int(a) ValueError: invalid literal for int() with base 10: 'abc'
Input dell’utente
Per interagire con il codice è necessario a volte inserire manualmente delle informazioni in ingresso (input) necessarie al programma per proseguire.
Utilizzando la funzione row_input il programma resta in attesa di una nostra informazione per proseguire il suo risultato sarà sempre una stringa.
nome = raw_input('Come ti chiami?') print 'Ciao ',nome
Per questo esempio sarà necessario creare e salvare un file esempio.py (con esetensione .py) per poterlo poi eseguire. Attenzione ad usare la virgola per concatenare la stringa ‘Ciao ‘ e la variabile nome
Il risultato sarà il seguente:
===================== RESTART: C:/Python27/Esempi/01.py ===================== Come ti chiami?Gigi Ciao Gigi
Conversione Input Utente
Come detto precedentemente row_input restituirà sempre una una stringa per tanto se dovessimo eseguire delle operazioni matematiche sarà necessario convertire in integer o float il valore immesso.
Proviamo a convertire i gradi Celsius in gradi Kelvin: (se volete approfondire leggete qui: Wikipedia: Kelvin)
_celsius = raw_input('Digita la temperatura in Celsius:') _kelvin = float(_celsius) + 273.15 print 'Equivale a',_kelvin, 'gradi Kelvin'
Il risultato sarà quindi:
===================== RESTART: C:/Python27/Esempi/02.py ===================== Digita la temperatura in Celsius:55 Equivale a 328.15 gradi Kelvin
I commenti in Python
Tutto quello dopo il carattere “#” viene ignorato dal codice e quindi non viene eseguito.
Ecco tre buoni motivi per aggiungere dei commenti al codice:
- Spiegare a parole cosa si sta cercando di fare con la parte di codice che stiamo scrivendo.
- Inserire chi e quando ha scritto il codice o altre informazioni ausiliarie.
- Disabilitare temporaneamente delle righe di codice per verificarne il funzionamento (debug).
Operazioni con le stringhe
Con le stringhe è possibile eseguire due tipi di operazioni:
- Concatenazione utilizzando il simbolo “+”.
- Concatenazione multipla utilizzando il simbolo “*”
Python riconosce da solo se inseriamo il valore di una stringa o di un numero e agisce di conseguenza.
Ecco un esempio:
print 'ciao' + 'Gigi' ciaoGigi print 'ciao!' * 5 ciao!ciao!ciao!ciao!ciao!
Il giusto nome delle variabili
E buona norma dare alle variabili dei nomi che possano essere comprensibili e memorizzabili in modo da poterle richiamare nel codice senza grossi problemi.
Per Python non c’è alcuna differenza se chiamiamo una variabile “12GasaZjJ99” oppure “celsius”, mentre per noi la differenza è notevole!