logo

Operatori de divizie în Python

Operatorii Diviziei vă permit să împărțiți două numere și să returnați un coeficient, adică primul număr sau număr din stânga este împărțit la al doilea număr sau număr din dreapta și returnează coeficientul.

Operatori de divizie în Python

Există două tipuri de operatori de diviziune:



  • Diviziune flotant
  • Diviziune întreagă (diviziune la etaj)

Când un număr întreg este împărțit, rezultatul este rotunjit la cel mai apropiat număr întreg și este notat cu simbolul //. Numărul în virgulă mobilă / reprezintă diviziunea mobilă, care returnează coeficientul ca număr în virgulă mobilă.

Avantajele operatorului de divizie

Operatorul de împărțire (/) este un operator aritmetic fundamental în limbajele de programare care realizează operația de împărțire pe valori numerice. Iată câteva avantaje ale utilizării operatorului de divizare:

  1. Operatii aritmetice de baza: Operatorul de divizare este una dintre operațiile aritmetice de bază care este utilizată în matematică, inginerie și alte domenii. Vă permite să împărțiți un număr la altul pentru a efectua calcule, cum ar fi calcularea mediei unui set de numere sau scalarea unei valori.
  2. Sintaxă expresivă : Operatorul de împărțire oferă o sintaxă concisă și expresivă pentru efectuarea operațiilor de împărțire în cod. În loc să scrieți o expresie complexă cu mai multe operații aritmetice, puteți utiliza operatorul de împărțire pentru a efectua împărțirea într-o singură linie de cod.
  3. Control de precizie: Operatorul de divizare vă permite să controlați precizia calculelor dvs. utilizând diferite tipuri de date sau strategii de rotunjire. De exemplu, puteți folosi diviziunea în virgulă mobilă (/) pentru a calcula un cot zecimal sau diviziunea între întregi (//) pentru a calcula un coeficient trunchiat.
  4. Eficiență algoritmică: Operatorul de divizare poate fi folosit pentru a implementa algoritmi eficienți pentru calcule numerice, cum ar fi înmulțirea matricelor, algebra liniară și integrarea numerică. Folosind operatorul de divizare în acești algoritmi, puteți reduce numărul de operații aritmetice și puteți îmbunătăți performanța codului dvs.
  5. Modelare matematică: Operatorul de diviziune este utilizat în modelarea și simularea matematică pentru a reprezenta relații dintre variabile, cum ar fi ratele de schimbare, ratele de creștere sau probabilitățile. Folosind operatorul de diviziune în aceste modele, puteți simula și analiza sisteme și fenomene complexe.

În general, operatorul de divizie este un operator puternic și versatil care oferă o gamă largă de avantaje în programare și matematică.



Tipuri de diviziune în Python

Diviziune flotant

Coeficientul returnat de acest operator este întotdeauna un număr flotant, indiferent dacă două numere sunt numere întregi. De exemplu:

Python3




convertor șir în int



print>(>5>/>5>)> print>(>10>/>2>)> print>(>->10>/>2>)> print>(>20.0>/>2>)>

>

>

Ieșire:

1.0 5.0 -5.0 10.0>

Diviziune întreagă (diviziune la etaj)

Coeficientul returnat de acest operator depinde de argumentul transmis. Dacă oricare dintre numere este float, returnează rezultatul în float. Este cunoscut și ca Podea împărțire deoarece, dacă orice număr este negativ, atunci rezultatul va fi redus. De exemplu:

Python3




print>(>5>/>/>5>)> print>(>3>/>/>2>)> print>(>10>/>/>3>)>

>

>

Ieșire:

1 1 3>

Luați în considerare afirmațiile de mai jos în Piton .

Python3




# A Python program to demonstrate the use of> # '//' for integers> print> (>5>/>/>2>)> print> (>->5>/>/>2>)>

formatare șir de caractere java
>

>

Ieșire:

2 -3>

Prima ieșire este bună, dar a doua poate fi surprinzătoare dacă ajungem în lumea Java/C++. În Python, operatorul // funcționează ca o diviziune de etaj pentru argumentele întregi și flotante. Cu toate acestea, operatorul de divizare „/” returnează întotdeauna o valoare flotantă.

Notă: Operatorul // este folosit pentru a returna cea mai apropiată valoare întreagă care este mai mică sau egală cu o expresie sau valoare specificată. Deci, din codul de mai sus, 5//2 returnează 2. Știți că 5/2 este 2,5, iar cel mai apropiat număr întreg care este mai mic sau egal este 2[5//2].( este invers cu matematica normală, la matematica normala valoarea este 3).

Exemplu

Python3




# A Python program to demonstrate use of> # '/' for floating point numbers> print> (>5.0>/>2>)> print> (>->5.0>/>2>)>

>

>

Ieșire:

2.5 -2.5>

Operatorul real de împărțire a podelei este //. Aceasta se intoarce valoarea de bază atât pentru argumentele întregi, cât și în virgulă mobilă.

Python3




# A Python program to demonstrate use of> # '//' for both integers and floating points> print> (>5>/>/>2>)> print> (>->5>/>/>2>)> print> (>5.0>/>/>2>)> print> (>->5.0>/>/>2>)>

>

cheie unică mysql
>

Ieșire:

2 -3 2.0 -3.0>

Este posibil un operator de divizare pe valori booleene?

În Piton , operatorul de divizare (/) nu este definit pentru valorile booleene. Dacă încercați să împărțiți două valori booleene, veți obține o TypeError. Cu toate acestea, dacă doriți să supraîncărcați operatorul de divizare pentru o clasă personalizată care are valori booleene, puteți defini metoda specială __truediv__. Iată un exemplu:

În acest exemplu, definim un MyClass care are o singură valoare de atribut, care este un boolean. Apoi supraîncărcăm operatorul / prin definirea metodei __truediv__ pentru a efectua o operație logică pe atributul value a două instanțe MyClass.

Când apelăm a / b, metoda __truediv__ este apelată cu an ca prim argument și b ca al doilea argument. Metoda returnează o nouă instanță a MyClass cu un atribut de valoare care este logic și al a.value și b.value.

Rețineți că supraîncărcarea operatorului de împărțire pentru valori booleene nu este semnificativă sau utilă, deoarece diviziunea nu este definită pentru valorile booleene în matematică sau în Python. Exemplul de mai sus este doar o demonstrație a modului de supraîncărcare a unui operator într-o clasă personalizată.

Python3




class> MyClass:> >def> __init__(>self>, value):> >self>.value>=> value> >def> __truediv__(>self>, other):> >return> MyClass(>self>.value>and> other.value)> a>=> MyClass(>True>)> b>=> MyClass(>False>)> c>=> a>/> b># c.value is False> print>(c.value)>

>

>

Ieșire:

False>