Introduzione
I numeri sono estremamente comuni nella programmazione. Sono usati per rappresentare cose come dimensioni dello schermo, posizioni geografiche, denaro e punti, la quantità di tempo che passa in un video, posizioni di avatar di gioco e colori attraverso l’assegnazione di codici numerici.
Essere in grado di eseguire efficacemente operazioni matematiche nella programmazione è un’abilità importante da sviluppare a causa della frequenza con cui lavorerai con i numeri., Sebbene una comprensione di alto livello della matematica possa certamente aiutarti a diventare un programmatore migliore, non è un prerequisito. Se non hai un background in matematica, prova a pensare alla matematica come uno strumento per realizzare ciò che vorresti ottenere e come un modo per migliorare il tuo pensiero logico.
Lavoreremo con due dei tipi di dati numerici più utilizzati di Python, numeri interi e float:
Questo tutorial esaminerà gli operatori che possono essere utilizzati con i tipi di dati numerici in Python.
Operatori
Un operatore è un simbolo o una funzione che indica un’operazione., Ad esempio, in matematica il segno più o + è l’operatore che indica l’aggiunta.
In Python, vedremo alcuni operatori familiari che vengono portati dalla matematica, ma altri operatori che useremo sono specifici per la programmazione di computer.
Ecco una tabella di riferimento rapido degli operatori relativi alla matematica in Python. Ci occuperemo di tutte le seguenti operazioni in questo tutorial., of x and y
x
and y
x / y
x
to the y
powerWe’ll also be covering compound assignment operators, including +=
and *=
, that combine an arithmetic operator with the =
operator.,
Addizione e sottrazione
In Python, gli operatori di addizione e sottrazione eseguono proprio come fanno in matematica. In realtà, è possibile utilizzare il linguaggio di programmazione Python come una calcolatrice.,”>
Invece di passare interi direttamente nel print
istruzione, siamo in grado di inizializzare le variabili di stand per valori interi:
a = 88b = 103print(a + b)
Output191
Perché i numeri interi possono essere sia numeri positivi e negativi (e 0 troppo), siamo in grado di aggiungere un numero negativo con un numero positivo:
c = -36d = 25print(c + d)
Output-11
in Aggiunta, si comportano allo stesso modo con i carri allegorici:
e = 5.5f = 2.5print(e + f)
Output8.0
Perché abbiamo aggiunto due carri insieme, Python ha restituito un valore di tipo float, con una cifra decimale.,
La sintassi per la sottrazione è la stessa più, tranne che potrete cambiare il vostro operatore dal segno più (+
) per il segno meno (-
):
g = 75.67h = 32print(g - h)
Output43.67
Qui abbiamo sottratto un numero intero da un galleggiante. Python restituirà un float se almeno uno dei numeri coinvolti in un’equazione è un float.,
Unario Operazioni Aritmetiche
unario espressione matematica è costituito da un solo componente o elemento, e in Python i segni più e meno, può essere utilizzato come un unico elemento associato con un valore da restituire il valore dell’identità (+
), o cambiare il segno del valore (-
).
Anche se non comunemente usato, il segno più indica l’identità del valore., Siamo in grado di utilizzare il segno più, con valori positivi:
i = 3.3print(+i)
Output3.3
Quando si usa il segno più, con un valore negativo, tornerà anche l’identità di quel valore, e in questo caso si tratterebbe di un valore negativo:
j = -19print(+j)
Output-19
Con un valore negativo, il segno più restituisce lo stesso valore negativo.
Il segno meno, in alternativa, cambia il segno di un valore., Così, quando si passa da un valore positivo, troveremo che il segno meno prima che il valore di ritorno di un valore negativo:
i = 3.3print(-i)
Output-3.3
in Alternativa, se si usa il segno meno operatore unario con un valore negativo, un valore positivo verrà restituito:
j = -19print(-j)
Output19
unario operazioni aritmetiche indicato da un segno più e segno meno restituirà il valore di identità nel caso di +i
, oppure, all’opposto, segno del valore, come nel -i
.,
Moltiplicazione e divisione
Come addizione e sottrazione, moltiplicazione e divisione sarà molto simile a come fanno in matematica. Il segno che useremo in Python per la moltiplicazione è *
e il segno che useremo per la divisione è/
.,
Ecco un esempio di moltiplicazione in Python con due valori float:
k = 100.1l = 10.1print(k * l)
Output1011.0099999999999
Quando si divide in Python 3, il quoziente sarà sempre restituito come un galleggiante, anche se si utilizzano due numeri interi:
m = 80n = 5print(m / n)
Output16.0
Questo è uno dei principali cambiamenti tra Python 2 e Python 3., L’approccio di Python 3 fornisce una risposta frazionaria in modo che quando si utilizza /
per dividere 11
da 2
verrà restituito il quoziente di 5.5
. In Python 2 il quoziente restituito per l’espressione 11 / 2
è5
.
Di Python 2/
operatore esegue divisione piano, dove per il quoziente x
il numero restituito è il più grande intero minore o uguale a x
., Se esegui l’esempio precedente diprint(80 / 5)
con Python 2 invece di Python 3, riceverai16
come output senza la posizione decimale.
In Python 3, è possibile utilizzare//
per eseguire la divisione del pavimento. L’espressione 100 // 40
restituirà il valore di2
. La divisione del pavimento è utile quando hai bisogno di un quoziente per essere in numeri interi.
Modulo
L’operatore %
è il modulo, che restituisce il resto anziché il quoziente dopo la divisione., Questo è utile per trovare i numeri che sono multipli dello stesso numero, per esempio.
Diamo un’occhiata al modulo in azione:
o = 85p = 15print(o % p)
Output10
Per scomporre questo, 85 diviso per 15 restituisce il quoziente di 5 con un resto di 10. Il valore 10
è ciò che viene restituito qui perché l’operatore modulo restituisce il resto di un’espressione di divisione.
Se usiamo due float con il modulo, verrà restituito un valore float per il resto:
q = 36.0r = 6.0print(o % p)
Output0.0
Nel caso di 36.,0 diviso per 6.0, non c’è resto, quindi viene restituito il valore di 0.0
.
Power
L’operatore**
in Python viene utilizzato per aumentare il numero a sinistra alla potenza dell’esponente di destra. Cioè, nell’espressione 5 ** 3
, 5 viene portato alla 3a potenza. In matematica, vediamo spesso questa espressione resa come 53, e ciò che sta realmente accadendo è 5 viene moltiplicato per se stesso 3 volte., In Python, otterremmo lo stesso risultato di 125
eseguendo 5 ** 3
o 5 * 5 * 5
.
vediamo un esempio con le variabili:
s = 52.25t = 7print(s ** t)
1063173305051.292
Alzare il galleggiante 52.25
per il potere di 7
attraverso **
operatore si traduce in un grande float valore di ritorno.,
Precedenza degli operatori
In Python, come in matematica, dobbiamo tenere presente che gli operatori saranno valutati in ordine di precedenza, non da sinistra a destra o da destra a sinistra.,
Se guardiamo la seguente espressione:
u = 10 + 10 * 5
Si può leggere da sinistra a destra, ma ricordate che la moltiplicazione sarà fatto prima, quindi se chiamiamo print(u)
, verrà visualizzato il seguente valore:
Output60
Questo perché 10 * 5
valuta 50
e poi ci aggiungi 10
ritorno 60
il risultato finale.,
You may be familiar with another acronym for the order of operations, such as BEDMAS or BODMAS., Qualunque acronimo funzioni meglio per te, cerca di tenerlo a mente quando esegui operazioni matematiche in Python in modo che vengano restituiti i risultati che ti aspetti.
Operatori di assegnazione
L’operatore di assegnazione più comune è quello che hai già usato: il segno di uguale=
. L’operatore di assegnazione=
assegna il valore a destra a una variabile a sinistra. Ad esempio,v = 23
assegna il valore dell’intero23
alla variabilev
.,
Durante la programmazione, è comune utilizzare operatori di assegnazione composti che eseguono un’operazione sul valore di una variabile e quindi assegnano il nuovo valore risultante a tale variabile. Questi operatori composti combinano un operatore aritmetico con l’operatore=
, quindi per l’aggiunta combineremo +
con =
per ottenere l’operatore composto +=
., Vediamo cosa simile:
w = 5w += 1print(w)
Output6
in Primo luogo, abbiamo impostato la variabile w
uguale al valore di 5
poi abbiamo utilizzato il tag +=
operatore di assegnazione composto aggiungere il numero giusto per il valore di sinistra variabile e quindi assegnare il risultato di w
.,
Composto operatori di assegnazione vengono utilizzati frequentemente nel caso di cicli for che potrai utilizzare quando si desidera ripetere il processo più volte:
for x in range (0, 7): x *= 2 print(x)
Output024681012
Con il ciclo for, siamo stati in grado di automatizzare il processo di *=
operatore che moltiplicato per la variabile w
per il numero 2
e poi assegnato il risultato nella variabile w
per la prossima iterazione del ciclo for.,
Python ha un operatore di assegnazione composto per ciascuno degli operatori aritmetici discussi in questo tutorial:
Gli operatori di assegnazione composti possono essere utili quando le cose devono essere aumentate o diminuite in modo incrementale o quando è necessario automatizzare determinati processi nel programma.
Conclusione
Questo tutorial copriva molti degli operatori che utilizzerai con i tipi di dati numerici interi e float. Se si desidera continuare a leggere sui numeri in Python, è possibile continuare su Built-in Python 3 funzioni per lavorare con i numeri.,
Per saperne di più su altri tipi di dati, dai un’occhiata alla Comprensione dei tipi di dati in Python 3 e scopri come convertire i tipi di dati leggendo Come convertire i tipi di dati in Python 3.