Tutorial sul Python - Numeri e conversione

  1. Tipo di dati del numero di Python
  2. Conversione del tipo di numero del Python
  3. Numeri Frazionari Python

In questa sezione, imparerete il tipo di dati numerici nella programmazione Python e le operazioni matematiche che potete eseguire su questi numeri. Inoltre, imparerete come convertire da un tipo di dati ad un altro.

Tipo di dati del numero di Python

Il tipo di dati numerici in Python includono:

  1. Numeri interi
  2. Numeri a virgola mobile
  3. Numeri complessi

I numeri interi non hanno alcuna parte frazionaria/decimale.

I numeri a virgola mobile contengono una parte decimale.

I numeri complessi hanno una parte reale e una parte immaginaria. I numeri complessi hanno la forma x + yj, dove x è la parte reale e yj è la parte immaginaria.

La funzione type() è usata per ottenere il tipo di dati di una variabile o, più in generale, di un oggetto. La funzione isinstance() è usata per verificare se la variabile appartiene o meno a una particolare classe.

x = 3
print("type of", x, "is", type(x))
x = 3.23
print("type of", x, "is", type(x))
x = 3+3j
print("is", x, "a complex number:", isinstance(x, complex))

Risultato:

type of 3 is <class 'int'>
type of 3.23 is <class 'float'>
is (3+3j) a complex number: True

I numeri interi possono essere di qualsiasi lunghezza, ma i numeri a virgola mobile dovrebbero essere solo fino a 15 decimali.

I numeri interi possono anche essere rappresentati in formato binario (base 2), esadecimale (base 16) e ottale (base 8). Questo può essere fatto utilizzando i prefissi. Controllare la tabella sottostante:

Sistema numerico Prefissi
 Binario  0b o 0B
 Octal  0o o 0O
 esadecimale  0x o 0X

Esemplare:

>>> print(0b110)
6
>>> print(0xFA)
250
>>> print(0o12)
10

Conversione del tipo di numero del Python

Conversione di tipo implicito

Se si aggiunge un numero di tipo float e un altro numero di tipo int, il risultato sarà float. Qui int viene convertito in float implicitamente.

>>> 2 + 3.0
5.0

Qui 2 è un numero intero che viene convertito in float implicitamente e si ha 2.0.

Questa conversione di tipo implicito è anche chiamata coercizione.

Conversione di tipo esplicito

Si potrebbe anche fare una conversione esplicita del tipo di dati numerici usando funzioni come int(), float(), str(), ecc.

>>> x = 8
>>> print("Value of x = ", int(x))
Value of x =  8
>>> print("Converted Value of x = ", float(x))
Converted Value of x = 8.0

Se si vuole convertire il valore float in valore int, allora la parte decimale sarà troncata.

Numeri Frazionari Python

Un modulo chiamato fractions è usato per eseguire operazioni che coinvolgono il numero frazionario. Il modulo fractions potrebbe rappresentare un numero frazionario come numerator/denominator.

import fractions
print(fractions.Fraction(0.5))
1/2

La funzione Fraction del modulo fractions convertirà il decimale in frazioni e quindi si potranno eseguire operazioni matematiche su queste frazioni:

print(Fraction(0.5) + Fraction(1.5))
print(Fraction(0.5) * Fraction(1.5))
print(Fraction(0.5) / Fraction(1.5))

Risultato:

2
3/4
1/3