Cosa significa // in Python

Vaibhhav Khetarpal 11 luglio 2021
Cosa significa // in Python

Gli operatori esistono in tutti i linguaggi di programmazione e hanno una funzione fondamentale per eseguire varie operazioni su valori e variabili.

Sebbene ci siano molti tipi di operatori in Python, in questo articolo ci concentreremo solo su un tipo di operatore: l’operatore aritmetico.

Gli operatori aritmetici possono essere utilizzati per eseguire semplici operazioni matematiche come addizione, moltiplicazione, sottrazione, ecc.

Questo tutorial discuterà uno di questi operatori aritmetici, l’operatore di divisione del pavimento.

Usa l’operatore // in Python per la divisione Floor

L’operatore //, noto anche come operatore di divisione floor, rientra nella categoria degli operatori aritmetici e non è altro che un operatore di divisione che fornisce un intero come output e scarta il resto.

Il processo di divisione degli interi in Python non è particolarmente lo stesso di altri linguaggi di programmazione popolari, considerando che arrotonda verso l’infinito negativo invece di arrotondare verso lo zero.

L’operatore // è stato introdotto ai programmatori in Python 3 per fornire un operatore di divisione intera che si comporta costantemente. In Python 3 e versioni successive, l’operatore / o divisione singola esegue la divisione in virgola mobile, anche se gli argomenti presi sono interi.

Nelle versioni di Python precedenti al lancio dell’operatore //, quando due interi venivano divisi, la divisione floor veniva eseguita per impostazione predefinita utilizzando l’operatore /.

Il codice seguente mostra l’uso dell’operatore di divisione del piano.

x = 15
y = 4
ans = x // y
print(ans)

Produzione:

3

L’operatore a divisione singola tende a comportarsi in modo anomalo e genera risposte imprecise quando si tratta di numeri enormi. L’introduzione della divisione di piano o dell’operatore // maschera questo inconveniente dell’operatore di divisione singola o /.

Il codice seguente illustra la differenza tra entrambi gli operatori quando si tratta di un numero elevato.

x = 50000000000

a1 = int(x * (x + 3) / 2)
a2 = x * (x + 3) // 2

print("Using single division operator: ", a1)
print("Using floor division operator: ", a2)

Produzione:

Using single division operator:  1250000000074999922688
Using floor division operator:  1250000000075000000000

In questo caso, l’operatore di divisione del piano restituisce il risultato corretto, mentre l’operatore di divisione singola non fornisce valori accurati.

Inoltre, l’operatore // offre prestazioni fino a 3 volte migliori rispetto all’operatore /. Aiuta a potenziare significativamente l’esecuzione del codice.

Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

Articolo correlato - Python Operator