La scrittura x = espr
significa (nei linguaggi di programmazione)
x ← espr
(scrittura convenzionale per l’istruzione di assegnazione)- assegna alla variabile
x
il valore dell’espressioneespr
- la variabile
x
assume il valore dell’espressioneespr
- calcola il valore dell’espressione a destra e lo assegna alla variabile a sinistra
Esempi
alfa = 10 # alfa ← 10
beta = 5 # beta ← 5
print(alfa, beta) # 10 5
alfa = beta # alfa ← beta
print(alfa, beta) # 5 5
alfa = 2*beta+1 # alfa ← 2*beta+1 = 2*5+1 = 11
print(alfa, beta) # 11 5
Assegnazione con operazione
Questa assegnazione è stata introdotta per velocizzare la scrittura del codice quando si tratta di aggiornare il valore di una variabile (a partire dal valore già esistente)
Operatore | istruzione | Equivale a… | |
---|---|---|---|
+= | x += espr | x = x+espr | x ← x+espr |
-= | x -= espr | x = x-espr | x ← x-espr |
… | … | … |
E così per tutti gli altri operatori: *=, **=, /=, //=, %=, &=, |=, ^=
Osserva
- prima valuta l’espressione a destra:
espr
- dopo valuta l’espressione:
x + espr
- dopo assegna il risultato alla variabile:
x ← ...
- l’operatore prima del segno
=
è uno a scelta tra quelli elencati
Esempio 1
Incremento di uno: si usa nei cicli for / while …
alfa = 10
beta = 5
print(alfa, beta)
alfa += 1
print(alfa, beta)
...
...
...
...
alfa = alfa+1 # 10+1 = 11
...
Esempio 2
Incremento con una variabile: una variabile accumula il valore di un’altra variabile
alfa = 10
beta = 5
alfa += beta
print(alfa, beta)
...
...
...
alfa = alfa+beta # 10+5 = 15
...
Esempio 3
Incremento con un’espressione
alfa = 10
beta = 5
alfa += beta**3
print(alfa, beta)
...
...
...
alfa = alfa+beta**3 # 10+5**3 = 10+125 = 135
...
Assegnazione multipla
Tutte le variabili assumono lo stesso valore con una sola istruzione
alfa = beta = gamma = 0
print(alfa, beta, gamma)
alfa = (beta = (gamma = 0))
...
La tupla di valori viene assegnata rispettivamente alla tupla di variabili
alfa, beta = 10, 5
print(alfa, beta)
(alfa, beta) = (10, 5)
...
La tupla di valori, attuali, viene assegnata alla tupla di variabili.
Una scorciatoia per fare lo scambio dei valori tra due variabili!
alfa = 10
beta = 5
alfa, beta = beta, alfa
print(alfa, beta)
...
...
...
(alfa, beta) = (beta, alfa) = (5, 10)
...