logo

Operátoři divize v Pythonu

Operátoři divizí umožňují vydělit dvě čísla a vrátit podíl, tj. první číslo nebo číslo vlevo je vyděleno druhým číslem nebo číslem vpravo a vrátí podíl.

Operátoři divize v Pythonu

Existují dva typy operátorů divize:



  • Plovoucí divize
  • Celočíselné dělení (podlahové dělení)

Při dělení celého čísla se výsledek zaokrouhlí na nejbližší celé číslo a označí se symbolem //. Číslo s plovoucí desetinnou čárkou / znamená plovoucí dělení, které vrací podíl jako číslo s plovoucí desetinnou čárkou.

Výhody operátora divize

Operátor dělení (/) je základní aritmetický operátor v programovacích jazycích, který provádí operaci dělení na číselných hodnotách. Zde jsou některé výhody použití operátoru divize:

  1. Základní aritmetické operace: Operátor divize je jednou ze základních aritmetických operací, která se používá v matematice, strojírenství a dalších oborech. Umožňuje dělit jedno číslo druhým a provádět výpočty, jako je výpočet průměru množiny čísel nebo škálování hodnoty.
  2. Expresivní syntaxe : Operátor dělení poskytuje stručnou a výraznou syntaxi pro provádění operací dělení v kódu. Místo psaní složitého výrazu s více aritmetickými operacemi můžete použít operátor dělení k provedení dělení na jediném řádku kódu.
  3. Přesné ovládání: Operátor dělení vám umožňuje řídit přesnost vašich výpočtů pomocí různých typů dat nebo strategií zaokrouhlování. Můžete například použít dělení s plovoucí desetinnou čárkou (/) k výpočtu desetinného podílu nebo dělení celého čísla (//) k výpočtu zkráceného podílu.
  4. Algoritmická účinnost: Operátor dělení lze použít k implementaci účinných algoritmů pro numerické výpočty, jako je násobení matic, lineární algebra a numerická integrace. Použitím operátoru dělení v těchto algoritmech můžete snížit počet aritmetických operací a zlepšit výkon vašeho kódu.
  5. Matematické modelování: Operátor dělení se používá v matematickém modelování a simulaci k reprezentaci vztahů mezi proměnnými, jako jsou rychlosti změny, rychlosti růstu nebo pravděpodobnosti. Pomocí operátoru dělení v těchto modelech můžete simulovat a analyzovat složité systémy a jevy.

Celkově je operátor divize výkonný a všestranný operátor, který poskytuje širokou škálu výhod v programování a matematice.



Typy dělení v Pythonu

Plovoucí divize

Kvocient vrácený tímto operátorem je vždy plovoucí číslo, bez ohledu na to, zda jsou dvě čísla celá čísla. Například:

Python3






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

>

>

Výstup :

1.0 5.0 -5.0 10.0>

Celočíselné dělení (podlahové dělení)

Kvocient vrácený tímto operátorem závisí na předávaném argumentu. Pokud je některé z čísel float, vrátí výstup v float. Je také známý jako Podlaha dělení, protože pokud je jakékoli číslo záporné, výstup bude nižší. Například:

Python3




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

>

>

Výstup:

1 1 3>

Zvažte níže uvedená prohlášení Krajta .

Python3




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

>

>

pole řazení java

Výstup :

2 -3>

První výstup je v pořádku, ale druhý může být překvapivý, pokud přicházíme do světa Java/C++. Operátor // v Pythonu funguje jako spodní dělení pro argumenty typu integer a float. Operátor dělení „/“ však vždy vrací hodnotu s plovoucí čárkou.

Poznámka: Operátor // se používá k vrácení nejbližší celočíselné hodnoty, která je menší nebo rovna zadanému výrazu nebo hodnotě. Takže z výše uvedeného kódu 5//2 vrátí 2. Víte, že 5/2 je 2,5 a nejbližší celé číslo, které je menší nebo rovno, je 2[5//2]. (je inverzní k normální matematice, v normální matematice je hodnota 3).

Příklad

Python3




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

>

>

Výstup :

2.5 -2.5>

Skutečný operátor dělení podlahy je //. To se vrací nejnižší hodnotu pro argumenty s celými čísly i s plovoucí desetinnou čárkou.

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>)>

>

>

Výstup :

2 -3 2.0 -3.0>

Je možný operátor dělení na booleovských hodnotách?

v Krajta , operátor dělení (/) není definován pro booleovské hodnoty. Pokud se pokusíte rozdělit dvě booleovské hodnoty, dostanete TypeError. Pokud však chcete přetížit operátor dělení pro vlastní třídu, která má booleovské hodnoty, můžete definovat speciální metodu __truediv__. Zde je příklad:

V tomto příkladu definujeme MyClass, která má jedinou hodnotu atributu, což je logická hodnota. Poté přetížíme operátor / definováním metody __truediv__ k provedení logické operace s atributem value dvou instancí MyClass.

Když zavoláme a / b, zavolá se metoda __truediv__ s prvním argumentem a a druhým argumentem b. Metoda vrací novou instanci MyClass s atributem value, který je logický a a.value a b.value.

Všimněte si, že přetížení operátoru dělení pro booleovské hodnoty není smysluplné ani užitečné, protože dělení není definováno pro booleovské hodnoty v matematice ani v Pythonu. Výše uvedený příklad je pouze ukázkou toho, jak přetížit operátora ve vlastní třídě.

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)>

>

>

Výstup:

False>