logo

Operatory dzielenia w Pythonie

Operatorzy dywizji pozwalają podzielić dwie liczby i zwrócić iloraz, tj. pierwsza liczba lub liczba po lewej stronie jest dzielona przez drugą liczbę lub liczbę po prawej stronie i zwraca iloraz.

Operatory dzielenia w Pythonie

Istnieją dwa typy operatorów dzielenia:



  • Podział pływakowy
  • Dzielenie całkowite (dzielenie pięter)

W przypadku dzielenia liczby całkowitej wynik jest zaokrąglany do najbliższej liczby całkowitej i oznaczany symbolem //. Liczba zmiennoprzecinkowa / oznacza dzielenie zmiennoprzecinkowe, które zwraca iloraz w postaci liczby zmiennoprzecinkowej.

Zalety Operatora Dywizji

Operator dzielenia (/) to podstawowy operator arytmetyczny w językach programowania, który wykonuje operację dzielenia wartości liczbowych. Oto kilka zalet stosowania operatora dzielenia:

  1. Podstawowe operacje arytmetyczne: Operator dzielenia to jedna z podstawowych operacji arytmetycznych stosowana w matematyce, inżynierii i innych dziedzinach. Umożliwia dzielenie jednej liczby przez drugą w celu wykonywania obliczeń, takich jak obliczanie średniej zbioru liczb lub skalowanie wartości.
  2. Ekspresyjna składnia : Operator dzielenia zapewnia zwięzłą i wyrazistą składnię wykonywania operacji dzielenia w kodzie. Zamiast pisać złożone wyrażenie zawierające wiele operacji arytmetycznych, możesz użyć operatora dzielenia, aby wykonać dzielenie w pojedynczym wierszu kodu.
  3. Precyzyjne sterowanie: Operator dzielenia pozwala kontrolować precyzję obliczeń, stosując różne typy danych lub strategie zaokrąglania. Można na przykład użyć dzielenia zmiennoprzecinkowego (/) do obliczenia ilorazu dziesiętnego lub dzielenia całkowitego (//) do obliczenia ilorazu obciętego.
  4. Wydajność algorytmiczna: Operator dzielenia może służyć do implementowania wydajnych algorytmów obliczeń numerycznych, takich jak mnożenie macierzy, algebra liniowa i całkowanie numeryczne. Używając operatora dzielenia w tych algorytmach, możesz zmniejszyć liczbę operacji arytmetycznych i poprawić wydajność swojego kodu.
  5. Modelowanie matematyczne: Operator dzielenia jest używany w modelowaniu matematycznym i symulacji do przedstawiania relacji między zmiennymi, takimi jak tempo zmian, tempo wzrostu lub prawdopodobieństwa. Korzystając z operatora dzielenia w tych modelach, można symulować i analizować złożone systemy i zjawiska.

Ogólnie rzecz biorąc, operator dzielenia jest potężnym i wszechstronnym operatorem, który zapewnia szeroki zakres korzyści w programowaniu i matematyce.



Rodzaje dzielenia w Pythonie

Podział pływakowy

Iloraz zwracany przez ten operator jest zawsze liczbą zmiennoprzecinkową, niezależnie od tego, czy dwie liczby są liczbami całkowitymi. Na przykład:

Python3




posortuj listę tablic w Javie



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

>

>

Wyjście :

1.0 5.0 -5.0 10.0>

Dzielenie całkowite (dzielenie pięter)

Iloraz zwracany przez ten operator zależy od przekazanego argumentu. Jeśli którakolwiek z liczb jest liczbą zmiennoprzecinkową, zwraca dane wyjściowe w postaci zmiennoprzecinkowej. Znany jest również jako Podłoga dzielenie, ponieważ jeśli jakakolwiek liczba jest ujemna, wówczas wynik będzie ograniczony do minimum. Na przykład:

Python3




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

>

>

Wyjście:

1 1 3>

Rozważ poniższe stwierdzenia w Pyton .

Python3




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

Algebra relacyjna w rdbms
>

>

Wyjście :

2 -3>

Pierwsze wyjście jest w porządku, ale drugie może być zaskakujące, jeśli wchodzimy do świata Java/C++. W Pythonie operator // działa jako dzielenie podłogi dla argumentów całkowitych i zmiennoprzecinkowych. Jednak operator dzielenia „/” zwraca zawsze wartość zmiennoprzecinkową.

Notatka: Operator // służy do zwracania najbliższej wartości całkowitej, która jest mniejsza lub równa określonemu wyrażeniu lub wartości. Zatem z powyższego kodu 5//2 zwraca 2. Wiesz, że 5/2 to 2,5, a najbliższa liczba całkowita mniejsza lub równa to 2[5//2].(jest to odwrotność normalnych obliczeń matematycznych, w normalnej matematyce wartość wynosi 3).

Przykład

Python3




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

>

>

Wyjście :

2.5 -2.5>

Prawdziwym operatorem dzielenia pięter jest //. To zwroty wartość minimalna zarówno dla argumentów całkowitych, jak i zmiennoprzecinkowych.

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

>

>

Wyjście :

punkt Java
2 -3 2.0 -3.0>

Czy możliwy jest operator dzielenia wartości logicznych?

W Pyton , operator dzielenia (/) nie jest zdefiniowany dla wartości logicznych. Jeśli spróbujesz podzielić dwie wartości logiczne, otrzymasz błąd TypeError. Jeśli jednak chcesz przeciążyć operator dzielenia dla klasy niestandardowej, która ma wartości logiczne, możesz zdefiniować specjalną metodę __truediv__. Oto przykład:

W tym przykładzie definiujemy MyClass, która ma pojedynczą wartość atrybutu, która jest wartością logiczną. Następnie przeciążamy operator /, definiując metodę __truediv__ w celu wykonania operacji logicznej na atrybucie wartości dwóch instancji MyClass.

Kiedy wywołujemy a / b, wywoływana jest metoda __truediv__ z an jako pierwszym argumentem i b jako drugim argumentem. Metoda zwraca nową instancję klasy MyClass z atrybutem wartości będącym wartością logiczną oraz wartością a.value i b.value.

Należy zauważyć, że przeciążanie operatora dzielenia dla wartości boolowskich nie ma sensu ani jest przydatne, ponieważ dzielenie nie jest zdefiniowane dla wartości boolowskich w matematyce ani w Pythonie. Powyższy przykład jest jedynie demonstracją tego, jak przeciążyć operatora w klasie niestandardowej.

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

>

>

Wyjście:

False>