
I numeri in Python
I numeri in Python sono una delle tipologie di dati fondamentali e possono essere suddivisi in diversi tipi.
Interi
Gli interi (integers) sono numeri senza una parte decimale, ossia senza virgola, e possono essere positivi, negativi oppure nulli (zero). In Python, gli interi sono rappresentati dal tipo int.
x = 5
type(x)
<class 'int'>
In Python i numeri interi hanno quattro rappresentazioni letterali: decimale (base 10), binaria (base 2), ottale (base 8) ed esadecimale (base 16).
Numeri a Virgola Mobile
I numeri a virgola mobile (Floating-Point Numbers) hanno una parte decimale e sono rappresentati con il tipo float in Python.
x = 5.7
type(x)
<class 'float'>
Numeri booleani
I valori booleani sono un tipo di dato numerico caratterizzato da due istanze: vero (true) e falso (false). In Python sono rappresentati dal tipo bool.
x =False
type(x)
<class 'bool'>
Frazioni
Python fornisce anche un modulo fractions che ti permette di lavorare con le frazione.
from fractions import Fraction
x = Fraction(3, 4)
type(x)
<class 'fractions.Fraction'>
Decimali
Il modulo decimal ti fornisce supporto per numeri decimali arrotondati con precisione arbitraria.
from decimal import Decimal
x = Decimal('0.1')
type(x)
<class 'decimal.Decimal'>
Numeri Complessi
I numeri complessi (complex numbers) sono numeri composti da una coppia di numeri, una parte reale e una parte immaginaria, e sono rappresentati dal tipo complex in Python.
x = 3 + 4j
type(x)
<class 'complex'>
Le conversioni tra tipi numerici
Per convertire i numeri tra i vari tipi numerici puoi utilizzare diverse funzioni predefinite come int(), float(), e complex().
Il tipo numbers.Number
A loro volta tutti i numeri puoi considerarli come degli oggetti immutabili istanze del tipo numbers.Number.
Ad esempio, il numero 5 è una istanza del tipo int
isinstance(5, int)
Python restituisce True, ossia vero, il che dimostra che il numero 5 è una istanza del tipo Int
True
D'altra parte, il numero 5 è anche un istanza del tipo numbers.Number
import numbers
print(isinstance(5, numbers.Number))
Anche in questo caso Python risponde True (vero).
True
Lo stesso accade anche a tutti gli altri numeri e tipi numerici.