Operatori e Operandi¶
- Gli operatori sono token speciali che rappresentano calcoli come l’addizione, la moltiplicazione e la divisione.
Le seguenti sono espressioni valide Python il cui significato è chiaramente definito:
20+32 hour-1 hour*60+minute minute/60 5**2 (5+9)*(15-7)
- I token
+
,-
, e*
, e l’uso di parentesi per il raggruppamento hanno lo stesso significato che hanno in matematica.. - L’asterisco (
*
) è il token for la moltiplicazione, e **
è il token per l’esponenziazione.
- Quando il nome di una variabile appare al posto di un operando, è rimpiazzata con il suo valore prima che l’operazione sia effettuata.
Esempio: Convertiamo 645 minuti in ore:
In Python 3, l’operatore di divisione``/`` restituisce un risultato float.
- La divisione intera usa il token //.
- Il numero risultante viene sempre approssimato al numero intero a sinistra più vicino sulla linea dei numeri.
- Dunque 6 // 4 restituisce 1, ma -6 // 4 restituisce -2!
Funzioni di conversione¶
- Le funzioni
int
,float
estr
, provano a convertire i loro argomenti rispettivamente nei tipiint
,float
estr
. - Le chiamiamo funzioni di conversione di tipo.
La funzione int
può prendere un numero float o una stringa e trasformarla in un intero. Per i numeri float, cancella la parte dopo la virgola del numero (troncamento).
La funzione di conversione di tipo float
trasforma un intero o una stringa sintatticamente coerente in un float:
La funzione di conversione di tipo str
trasforma il suo argomento in una stringa:
Operazioni su stringhe¶
In generale, non si possono fare operazioni matematiche su stringhe, anche se esse sembrano numeri, per cui "15"+2
è un errore
- Tuttavia, l’operatore
+
funziona con le stringhe in quanto rappresenta la concatenazione. - La concatenazione significa l’unione dei due operandi facendo coincidere la fine del primo operando con l’inizio del secondo. Per esempio:
L’operatore *
funziona anche con le stringhe in quanto corrisponde alla ripetizione. Per esempio:
L’operatore di modulo¶
- L’operatore modulo funziona con interi (e espressioni intere) e ritorna il resto della divisione del primo numero per il secondo.
- In Python, l’operatore modulo si esprime con il simbolo percentuale (
%
). - Ha la stessa precedenza dell’operatore di moltiplicazione.
- Si può controllare se un numero è divisibile per l’altro
x % 10
restituisce le unità dix
(in base 10).x % 100
restituisce le ultime due cifre.
E’ anche estremamente utile per effettuare conversioni, ad esempio dai secondi alle ore, minute e secondi, come mostrato di seguito.
1 2 3 4 5 6 7 | total_secs = int(input("How many seconds, in total?"))
hours = total_secs // 3600
secs_still_remaining = total_secs % 3600
minutes = secs_still_remaining // 60
secs_finally_remaining = secs_still_remaining % 60
print("Hrs=", hours, " mins=", minutes, "secs=", secs_finally_remaining)
|