Tutorial sul Python - Numeri e conversione

Jinku Hu 25 giugno 2020
  1. Tipo di dati del numero di Python
  2. Conversione del tipo di numero del Python
  3. Numeri Frazionari Python
Tutorial sul Python - Numeri e conversione

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
Autore: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook