Una costante intera (con eventuale segno +/–) può essere espressa come
1023 | Numero intero (in base 10…) |
0b1111111111 | I prefissi 0b, oB specificano la base 2 di origine |
0o1777 | I prefissi 0o, 0O specificano la base 8 di origine |
0x3ff | I prefissi 0x, 0X, specificano la base 16 di origine |
1_023 | Da Python >=3.6 Eventuali “_”, underscore, saranno ignorati. |
Precisione
I numeri interi in Python hanno infinita precisione, cioè si può calcolare l’espressione
10**30+1 = 1000000000000000000000000000001
e ottenere la risposta esatta!
I numeri in virgola mobile (in doppia precisione) hanno un numero limitato di cifre significative (~15…).
Le conversioni intero ⇔ virgola mobile provocheranno approssimazioni inaspettate.
Costruttori
int() | Restituisce l’intero 0 |
int(n) | Restituisce l’intero n |
int(x) | Converte x in intero, come trunc(x) |
int(s) | Converte la stringa in intero |
int(s, base=b) | Converte la stringa in intero rappresentato nella base specificata (da 2 a 36) |
Operatori
Operatore | ? | Espressione | Risultato |
---|---|---|---|
+ | Segno più (unario) | +3 | 3 |
+ | Addizione | 10 + 3 | 13 |
– | Segno meno (unario) | - 3 | -3 |
– | Sottrazione | 10 - 3 | 7 |
* | Moltiplicazione | 10 * 3 | 30 |
/ | Divisione | 10 / 3 | 0.3333... |
// | Quoziente della divisione intera | 10 // 3 | 3 |
% | Resto della divisione intera | 10 % 3 | 1 |
** | Elevamento a potenza | 10 ** 3 | 1000 |
== | Uguale a? | 10 == 3 | False |
!= | Diverso da? | 10 != 3 | True |
< | Minore di? | 10 < 3 | False |
<= | Minore di oppure uguale a? | 10 <= 3 | False |
> | Maggiore di? | 10 > 3 | True |
>= | Maggiore di oppure uguale a? | 10 >= 3 | True |
not | Not logico… | not 3 | False |
and | And logico… | 10 and 3 | 3 |
or | Or logico… | 10 or 3 | 10 |
& | And (bit a bit) | 10 & 3 | 2 |
| | Or (bit a bit) | 10 | 3 | 2 |
^ | Or esclusivo (bit a bit) | 10 ^ 3 | 9 |
<< | Shift, scorrimento a sinistra dei bit | 10 << 3 | 80 |
>> | Shift, scorrimento a destra dei bit | 10 >> 3 | 1 |
~ | Not, complemento dei bit | ~ 3 | -4 |
Funzioni / metodi
Le funzioni che elaborano o restituiscono interi sono distribuite tra le funzioni predefinite e i moduli math, random, …
Prova le funzioni che restituiscono int.
n.bit_length() | Restituisce il numero di bit necessari per la rappresentazione in base 2. Il segno negativo non è considerato. |
pow(x, y) | Restituisce l’elevamento a potenza con la precisione dei numeri interi |
pow(x, y, z) | Restituisce l’elevamento a potenza modulo z. x e y devono essere interi e y non negativo. |
… | … |