Divisionsoperatörer låter dig dela två tal och returnera en kvot, dvs det första talet eller talet till vänster delas med det andra talet eller talet till höger och returnerar kvoten.
Divisionsoperatörer i Python
Det finns två typer av divisionsoperatörer:
- Float division
- Heltalsdelning (våningsindelning)
När ett heltal delas avrundas resultatet till närmaste heltal och betecknas med symbolen //. Flyttal / står för flyttal, vilket returnerar kvoten som ett flyttal.
Fördelar med divisionsoperatören
Divisionsoperatorn (/) är en grundläggande aritmetisk operator i programmeringsspråk som utför divisionsoperationen på numeriska värden. Här är några fördelar med att använda divisionsoperatorn:
- Grundläggande aritmetiska operationer: Divisionsoperatorn är en av de grundläggande aritmetiska operationerna som används inom matematik, teknik och andra områden. Den låter dig dividera ett tal med ett annat för att utföra beräkningar, som att beräkna medelvärdet av en uppsättning tal eller skala ett värde.
- Uttrycksfull syntax : Divisionsoperatorn tillhandahåller en kortfattad och uttrycksfull syntax för att utföra divisionsoperationer i kod. Istället för att skriva ett komplext uttryck med flera aritmetiska operationer kan du använda divisionsoperatorn för att utföra division i en enda kodrad.
- Precisionskontroll: Divisionsoperatorn låter dig styra precisionen i dina beräkningar genom att använda olika datatyper eller avrundningsstrategier. Du kan till exempel använda flyttalsdivision (/) för att beräkna en decimalkvot, eller heltalsdivision (//) för att beräkna en trunkerad kvot.
- Algoritmisk effektivitet: Divisionsoperatorn kan användas för att implementera effektiva algoritmer för numeriska beräkningar, såsom matrismultiplikation, linjär algebra och numerisk integration. Genom att använda divisionsoperatorn i dessa algoritmer kan du minska antalet aritmetiska operationer och förbättra prestandan för din kod.
- Matematisk modellering: Divisionsoperatorn används i matematisk modellering och simulering för att representera samband mellan variabler, såsom förändringshastigheter, tillväxthastigheter eller sannolikheter. Genom att använda divisionsoperatorn i dessa modeller kan du simulera och analysera komplexa system och fenomen.
Sammantaget är divisionsoperatören en kraftfull och mångsidig operatör som ger ett brett utbud av fördelar inom programmering och matematik.
Typer av division i Python
Float division
Kvoten som returneras av denna operator är alltid ett flyttal, oavsett om två tal är heltal. Till exempel:
Python3
print>(>5>/>5>)> print>(>10>/>2>)> print>(>->10>/>2>)> print>(>20.0>/>2>)> |
>
>
Utgång:
1.0 5.0 -5.0 10.0>
Heltalsdelning (våningsindelning)
Den kvot som returneras av denna operator beror på att argumentet skickas. Om något av talen är flytande, returnerar det utdata i flytande. Det är också känt som Golv division eftersom, om något tal är negativt, kommer utmatningen att golvas. Till exempel:
Python3
print>(>5>/>/>5>)> print>(>3>/>/>2>)> print>(>10>/>/>3>)> |
>
>
Produktion:
1 1 3>
Betrakta nedanstående uttalanden i Pytonorm .
Python3
# A Python program to demonstrate the use of> # '//' for integers> print> (>5>/>/>2>)> print> (>->5>/>/>2>)> |
>
>
Utgång:
2 -3>
Den första utgången är bra, men den andra kan vara förvånande om vi kommer till Java/C++-världen. I Python fungerar //-operatorn som en våningsindelning för heltals- och flytargument. Divisionsoperatorn '/' returnerar dock alltid ett flytande värde.
Notera: Operatorn // används för att returnera det närmaste heltalsvärdet som är mindre än eller lika med ett angivet uttryck eller värde. Så från ovanstående kod returnerar 5//2 2. Du vet att 5/2 är 2,5, och det närmaste heltal som är mindre än eller lika är 2[5//2].( det är omvänt till normal matematik, i normal matematik är värdet 3).
Exempel
Python3
# A Python program to demonstrate use of> # '/' for floating point numbers> print> (>5.0>/>2>)> print> (>->5.0>/>2>)> |
>
>
Utgång:
2.5 -2.5>
Den verkliga våningsindelningsoperatören är //. Det returnerar golvvärdet för både heltals- och flyttalsargument.
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>)> |
>
>
Utgång:
2 -3 2.0 -3.0>
Är en divisionsoperator på booleska värden möjlig?
I Pytonorm , är divisionsoperatorn (/) inte definierad för booleska värden. Om du försöker dela två booleska värden får du ett TypeError. Men om du vill överbelasta divisionsoperatorn för en anpassad klass som har booleska värden, kan du definiera specialmetoden __truediv__. Här är ett exempel:
I det här exemplet definierar vi en MyClass som har ett enda attributvärde, vilket är ett booleskt värde. Vi överbelastas sedan /-operatorn genom att definiera metoden __truediv__ för att utföra en logisk operation på värdeattributet för två MyClass-instanser.
När vi anropar a / b anropas metoden __truediv__ med an som första argument och b som andra argument. Metoden returnerar en ny instans av MyClass med ett värdeattribut som är det logiska och av a.value och b.value.
Observera att det inte är meningsfullt eller användbart att överbelasta divisionsoperatorn för booleska värden, eftersom division inte är definierad för booleska värden i matematik eller i Python. Exemplet ovan är bara en demonstration av hur man överbelasta en operatör i en anpassad klass.
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)> |
java arraylist sortering
>
>
Produktion:
False>