Divisie-operatoren kunt u twee getallen delen en een quotiënt retourneren, d.w.z. het eerste getal of getal aan de linkerkant wordt gedeeld door het tweede getal of getal aan de rechterkant en retourneert het quotiënt.
Divisieoperatoren in Python
Er zijn twee soorten delingsoperatoren:
- Zwevende divisie
- Deling van gehele getallen (vloerverdeling)
Wanneer een geheel getal wordt gedeeld, wordt het resultaat afgerond naar het dichtstbijzijnde gehele getal en wordt dit aangegeven met het symbool //. Het getal met drijvende komma / staat voor drijvende deling, waarbij het quotiënt wordt geretourneerd als een getal met drijvende komma.
Voordelen van de Divisie Operator
De delingsoperator (/) is een fundamentele rekenkundige operator in programmeertalen die de delingsbewerking uitvoert op numerieke waarden. Hier zijn enkele voordelen van het gebruik van de divisie-operator:
- Basis rekenkundige bewerkingen: De delingsoperator is een van de basisrekenkundige bewerkingen die wordt gebruikt in de wiskunde, techniek en andere vakgebieden. Hiermee kunt u het ene getal door het andere delen om berekeningen uit te voeren, zoals het berekenen van het gemiddelde van een reeks getallen of het schalen van een waarde.
- Expressieve syntaxis : De divisieoperator biedt een beknopte en expressieve syntaxis voor het uitvoeren van delingsbewerkingen in code. In plaats van een complexe uitdrukking met meerdere rekenkundige bewerkingen te schrijven, kunt u de operator Deling gebruiken om deling in één regel code uit te voeren.
- Precisiecontrole: Met de delingsoperator kunt u de nauwkeurigheid van uw berekeningen bepalen door verschillende gegevenstypen of afrondingsstrategieën te gebruiken. U kunt bijvoorbeeld deling met drijvende komma (/) gebruiken om een decimaal quotiënt te berekenen, of deling van gehele getallen (//) om een afgeknot quotiënt te berekenen.
- Algoritmische efficiëntie: De delingsoperator kan worden gebruikt om efficiënte algoritmen voor numerieke berekeningen te implementeren, zoals matrixvermenigvuldiging, lineaire algebra en numerieke integratie. Door in deze algoritmen de operator voor delen te gebruiken, kunt u het aantal rekenkundige bewerkingen verminderen en de prestaties van uw code verbeteren.
- Wiskundige modellering: De delingsoperator wordt gebruikt bij wiskundige modellering en simulatie om relaties tussen variabelen weer te geven, zoals veranderingspercentages, groeipercentages of waarschijnlijkheden. Door in deze modellen de divisieoperator te gebruiken, kun je complexe systemen en fenomenen simuleren en analyseren.
Over het geheel genomen is de divisieoperator een krachtige en veelzijdige operator die een breed scala aan voordelen biedt op het gebied van programmeren en wiskunde.
Soorten divisies in Python
Zwevende divisie
Het quotiënt dat door deze operator wordt geretourneerd, is altijd een float-getal, ongeacht of twee getallen gehele getallen zijn. Bijvoorbeeld:
Python3
print>(>5>/>5>)> print>(>10>/>2>)> print>(>->10>/>2>)> print>(>20.0>/>2>)> |
>
>
Uitgang:
1.0 5.0 -5.0 10.0>
Deling van gehele getallen (vloerverdeling)
Het quotiënt dat door deze operator wordt geretourneerd, is afhankelijk van het argument dat wordt doorgegeven. Als een van de getallen float is, wordt de uitvoer in float geretourneerd. Het is ook bekend als Vloer deling omdat, als een getal negatief is, de uitvoer gevloerd wordt. Bijvoorbeeld:
Python3
print>(>5>/>/>5>)> print>(>3>/>/>2>)> print>(>10>/>/>3>)> |
>
>
Uitgang:
1 1 3>
Beschouw de onderstaande uitspraken eens Python .
Python3
# A Python program to demonstrate the use of> # '//' for integers> print> (>5>/>/>2>)> print> (>->5>/>/>2>)> |
>
>
Uitgang:
2 -3>
De eerste uitvoer is prima, maar de tweede kan verrassend zijn als we naar de Java/C++-wereld komen. In Python werkt de operator // als vloerverdeling voor integer- en float-argumenten. De delingsoperator ‘/’ retourneert echter altijd een float-waarde.
Opmerking: De operator // wordt gebruikt om de dichtstbijzijnde gehele waarde te retourneren die kleiner is dan of gelijk is aan een opgegeven uitdrukking of waarde. Dus uit de bovenstaande code retourneert 5//2 2. Je weet dat 5/2 2,5 is, en het dichtstbijzijnde gehele getal dat kleiner is dan of gelijk is, is 2[5//2].( het is omgekeerd aan de normale wiskunde, bij normale wiskunde is de waarde 3).
Voorbeeld
Python3
# A Python program to demonstrate use of> # '/' for floating point numbers> print> (>5.0>/>2>)> print> (>->5.0>/>2>)> |
>
>
Uitgang:
2.5 -2.5>
De echte vloerverdelingsoperator is //. Het geeft terug de minimumwaarde voor zowel integer- als drijvende-kommaargumenten.
Python3
Java while-lus
# 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>)> |
>
>
Uitgang:
2 -3 2.0 -3.0>
Is een delingsoperator voor Booleaanse waarden mogelijk?
In Python , is de delingsoperator (/) niet gedefinieerd voor Booleaanse waarden. Als u probeert twee Booleaanse waarden te verdelen, krijgt u een TypeError. Als u echter de operator voor deling wilt overbelasten voor een aangepaste klasse die Booleaanse waarden heeft, kunt u de speciale methode __truediv__ definiëren. Hier is een voorbeeld:
In dit voorbeeld definiëren we een MyClass die één attribuutwaarde heeft, namelijk een booleaanse waarde. Vervolgens overbelasten we de operator / door de methode __truediv__ te definiëren om een logische bewerking uit te voeren op het waardeattribuut van twee MyClass-instanties.
Wanneer we a / b aanroepen, wordt de methode __truediv__ aangeroepen met an als eerste argument en b als tweede argument. De methode retourneert een nieuw exemplaar van MyClass met een waardeattribuut dat logisch is en van a.value en b.value.
Houd er rekening mee dat het overbelasten van de divisie-operator voor Booleaanse waarden niet zinvol of nuttig is, omdat deling niet is gedefinieerd voor Booleaanse waarden in de wiskunde of in Python. Het bovenstaande voorbeeld is slechts een demonstratie van hoe u een operator in een aangepaste klasse kunt overbelasten.
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)> |
>
>
Uitgang:
False>