Python zapewnia zestaw wbudowanych operatorów, które są niezbędne do efektywnego manipulowania danymi i wykonywania różnych obliczeń. Operatory te ułatwiają interakcje z liczbami i innymi zmiennymi, które mają fundamentalne znaczenie dla obliczeń i analizy danych.
SPIS TREŚCI
Operatory arytmetyczne
Python posiada następujące standardowe operatory matematyczne.
Operacja
Opis
x + y
Dodawanie – dodaje wartości po obu stronach operatora.
x - y
Odejmowanie – odejmuje prawy operand od lewego operandu.
x * y
Mnożenie – mnoży wartości po obu stronach operatora.
x / y
Dzielenie – dzieli lewy operand przez prawy operand.
x // y
Dzielenie całkowite – dzielenie operandów, w którym wynikiem jest iloraz, a jeśli wynikiem jest liczba dziesiętna, jest on zaokrąglany w dół do najbliższej liczby całkowitej.
x % y
Modulo – dzieli lewy operand przez prawy operand i zwraca resztę.
x ** y
Potęgowanie – wykonuje obliczenia wykładnicze (potęgowe) na operatorach (x do potęgi y).
-x
Operator jednoargumentowy Minus – operator zmienia znak operandu.
+x
Operator jednoargumentowy Plus – nie zmienia wartości operandu.
Operator dzielenia (’/’) w Pythonie zawsze zwraca wynik jako liczbę zmiennoprzecinkową, nawet w przypadku dzielenia dwóch liczb całkowitych. Z drugiej strony operator dzielenia całkowitego (’//’) zawsze zwraca wynik jako liczbę całkowitą, obcinając wszelkie części ułamkowe. Działa zarówno z liczbami całkowitymi, jak i zmiennoprzecinkowymi.
Operatory te można łączyć w wyrażenia złożone zgodnie ze standardowymi zasadami pierwszeństwa w matematyce: nawiasy, potęgowanie, mnożenie i dzielenie (od lewej do prawej), dodawanie i odejmowanie (od lewej do prawej).
Ponadto, Python udostępnia kilka wbudowanych funkcji matematycznych, które ułatwiają wykonywanie różnych operacji matematycznych. To niektóre z nich:
Funkcja
Opis
abs(x)
Zwraca wartość bezwzględną ’x’.
divmod(x, y)
Zwraca iloraz i resztę przy dzieleniu ’x’ przez ’y’.
(x // y, x % y)
pow(x, y [, z])
Zwraca ’x’ podniesione do potęgi ’y’,
jeśli ’z’ jest obecne, ’x’ podniesione do potęgi ’y’ modulo ’z’.
round(x [, n])
Zaokrągla liczbę ’x’ do podanej precyzji ’n’.
sum(iterable, start)
Zwraca sumę elementów w obiekcie iterowalnym – jeśli podany jest ’start’, dodaje go do sumy.
Te wbudowane funkcje są łatwo dostępne, wydajne i nie wymagają importowania dodatkowych modułów. Dla bardziej zaawansowanych operacji matematycznych Python udostępnia dodatkowo moduł ’math’, który zawiera funkcje takie jak sinus, cosinus, tangens, liczby pierwsze, logarytmy i wiele innych.
Operatory manipulacji bitami
Operatory manipulacji bitami działają na poziomie pojedynczych bitów liczby, działają tylko na liczbach całkowitych i są używane głównie w programowaniu niskopoziomowym, kryptografii czy grafice. Python oferuje zestaw standardowych operatorów do manipulacji bitami.
Operacja
Opis
x & y
AND bitowy – Porównuje każdy bit dwóch operandów. Jeżeli oba bity są ustawione na 1, wynikowy bit też jest ustawiony na 1, w przeciwnym przypadku wynikowy bit to 0.
x | y
OR bitowy – Porównuje każdy bit dwóch operandów. Jeżeli przynajmniej jeden z bitów jest ustawiony na 1, wynikowy bit jest ustawiony na 1.
x ^ y
XOR bitowy – Porównuje każdy bit dwóch operandów. Jeżeli dokładnie jeden z bitów jest ustawiony na 1, wynikowy bit jest ustawiony na 1.
~x
NOT bitowy – Odwraca bity liczby.
x << y
Przesunięcie w lewo – Przesuwa bity liczby w lewo o określoną liczbę miejsc. Miejsca, które pojawiają się po prawej stronie po przesunięciu, są wypełnione zerami.
x >> y
Przesunięcie w prawo – Przesuwa bity liczby w prawo o określoną liczbę miejsc.
Operacje te są szybkie i efektywne, ale zastosowanie ich wymaga zrozumienia, jak liczby są reprezentowane na poziomie bitów. Są one szczególnie użyteczne w przypadkach, gdy konieczne jest bezpośrednie operacje na bitach.
Operatory przypisania
Operatory przypisania umożliwiają wykonanie operacji matematycznej i przypisania wyniku do zmiennej w jednym kroku.
Na przykład, często pisze się wyrażenie, które aktualizuje wartość:
x = x + 1
Zamiast tego można napisać następującą skróconą wersję:
x += 1
Taka skrócona forma może być używana z dowolnymi operatorami, takimi jak:
+, –, *, **, /, //, %, &, |, ^, <<, >>
Operatory przypisania sprawiają, że kod jest bardziej zwięzły i często są uważane za bardziej czytelne, zwłaszcza gdy wartości zmiennych są często aktualizowane.
Operatory porównania
W Pythonie dostępnych jest osiem operatorów porównania, które można wykorzystać do porównania wartości.
Operacja
Opis
x == y
Równość – sprawdza, czy dwie wartości są równe.
x != y
Nierówność – sprawdza, czy dwie wartości są różne.
x < y
Mniejsze niż – sprawdza, czy lewa wartość jest mniejsza od prawej.
x > y
Większe niż – sprawdza, czy lewa wartość jest większa od prawej.
x <= y
Mniejsze lub równe – sprawdza, czy lewa wartość jest mniejsza lub równa prawej.
x >= y
Większe lub równe – sprawdza, czy lewa wartość jest większa lub równa prawej.
is
Identyczność – sprawdza, czy dwie zmienne wskazują na ten sam obiekt (nie tylko równość wartości).
is not
Brak identyczności – sprawdza, czy dwie zmienne nie wskazują na ten sam obiekt.
Operatory porównania pełnią kluczową funkcję w sterowaniu przepływem programu, zwracając wartości logiczne – ’True’, jeżeli warunek porównania jest spełniony, lub ’False’ w przeciwnym przypadku. Właśnie na podstawie tych zwróconych wartości logicznych podejmowane są decyzje w instrukcjach warunkowych i pętlach, co umożliwia kontrolę przepływu programu w zależności od wyniku porównań.
Operatory logiczne
W Pythonie dostępne są trzy główne operatory logiczne, które służą do tworzenia bardziej złożonych warunków poprzez łączenie prostszych wyrażeń logicznych.
Operacja
Opis
x and y
Zwraca ’True’ jeżeli oba wyrażenia są prawdziwe. Jeśli pierwsze wyrażenie jest fałszywe, drugie wyrażenie nie jest już sprawdzane (tzw. short-circuiting).
x or y
Zwraca ’True’ jeżeli przynajmniej jedno z wyrażeń jest prawdziwe. Jeśli pierwsze wyrażenie jest prawdziwe, drugie wyrażenie nie jest już sprawdzane (tzw. short-circuiting).
not x
Zwraca ’False’ jeżeli wyrażenie jest prawdziwe i ’True’ jeżeli jest fałszywe. Jest to operator negacji.
Operatory logiczne są często używane w instrukcjach warunkowych oraz w pętlach, aby łączyć różne warunki i tworzyć bardziej złożone kryteria sterujące przepływem programu.