Python operatory
Python

Python operatory

W artykule Python operatory przedstawiam, jakie rodzaje operatorów są dostępne w języku Python. Omawiam m.in. operatory arytmetyczne, logiczne, porównania i przypisania oraz prezentuję kilkanaście przykładów ilustrujących działanie operatorów w praktyce.

Do czego służą operatory w języku Python?

Operatory w Pythonie to specjalne symbole lub słowa kluczowe, które służą do wykonywania operacji na wartościach oraz na zmiennych.

Pełnią one rolę uniwersalnych narzędzi do pracy z danymi i logiką programu. Umożliwiają manipulację wartościami, porównywanie ich, logiczne łączenie oraz wykonywanie operacji bitowych.

Poniżej znajdziesz informacje na temat poszczególnych grup operatorów używanych w języku Python.

Python Operatory arytmetyczne

Operatory arytmetyczne w Pythonie umożliwiają wykonywanie działań matematycznych, takich jak:

  • dodawanie i odejmowanie
  • mnożenie i dzielenie
  • potęgowanie
  • reszta z dzielenia
  • dzielenie całkowite i dzielenie zmiennoprzecinkowe
  • modulo
  •  

OperatorOpisPrzykładWynik
+Dodawanie5 + 38
Odejmowanie5 – 32
*Mnożenie5 * 315
/Dzielenie (wynik zmiennoprzecinkowy)5 / 22.5
//Dzielenie całkowite (wynik zaokrąglony w dół)5 // 22
%Reszta z dzielenia5 % 21
**Potęgowanie5 ** 225
  • Operator / zawsze zwraca wynik jako liczbę  (float), nawet gdy wynik jest liczbą całkowitą
  • Operator // zwraca wynik dzielenia bez reszty, czyli zaokrągla w dół do najbliższej liczby całkowitej
  • Operator % jest często używany do sprawdzania podzielności liczb (np. 2 % 2 == 0 oznacza, że liczba 2 jest parzysta).
cena_jednostkowa = 100 # cena za jeden produkt
ilosc = 3 # liczba zamówionych produktów
rabat = 0.10 # rabat 10%
 
# Obliczenie wartości zamówienia bez rabatu
wartosc_zam = cena_jednostkowa * ilosc
 
# Obliczenie rabatu
wartosc_rabatu = wartosc_zam * rabat
 
# Obliczenie całkowitej wartości zamówienia po rabacie
wartosc_zam_rabat = wartosc_zam - wartosc_rabatu
 
print("Wartość zamówienia po rabacie: ", wartosc_zam_rabat)

W przykładzie:

  • do zmiennej cena_jednostkowa przypisujemy wartość 100
  • do zmiennej ilosc przypisujemy wartość 3
  • do zmiennej rabat przypisujemy 10% rabatu
  • mnożymy wartości ze zmiennych cena_jednostkowa i ilosc, i wynik przypisujemy do zmiennej wartosc_zam
  • mnożymy wartości ze zmiennych wartosc_zam i rabat, i wynik przypisujemy do zmiennej wartosc_zam_rabat
  • wyświetlamy wynik za pomocą funkcji print()

Python Operatory przypisania

Operatory przypisania w Pythonie umożliwiają:

  • przypisywanie wartości do zmiennych
  • modyfikowanie danych w zmiennych w skrócony sposób – za pomocą operatorów przypisania możemy wykonywać operacje arytmetyczne i logiczne
OperatorOpisPrzykładWynik
=Proste przypisaniea = 10a = 10
+=Dodaj i przypisza += 5 (a = 10)a = 15
-=Odejmij i przypisza -= 3 (a = 10)a = 7
*=Przemnóż przez i przypisza *= 2 (a = 10)a = 20
/=Podziel przez i przypisza /= 2 (a = 10)a = 5.0
//=Podziel całkowicie przez i przypisza //= 3 (a = 10)a = 3
%=Reszta z dzielenia i przypisza %= 3 (a = 10)a = 1
**=Potęgowanie i przypisywaniea **= 2 (a = 10)a = 100
&=Operacja AND bitowy i przypisaniex &= 3x = 1
|=Operacja OR bitowy i przypisaniex |= 3x = 7
^=Operacja XOR bitowy i przypisaniex ^= 3x = 6
>>=Przesunięcie bitowe w prawo i przypisaniex >>= 1x = 2
<<=Przesunięcie bitowe w lewo i przypisaniex <<= 1x = 10
:=Operator przypisania w wyrażeniach (od Python 3.8)x := 5x = 5

Operatory przypisania łączą operację i przypisanie w jeden krok. Skracają w ten sposób zapis operacji.

Podstawowym operatorem przypisania jest operator =. Pozostałe operatory łączą przypisanie z innymi operacjami arytmetycznymi.

y = 10  
y -= 4  
print(y) # wynik: 6

W przykładzie:

  • do zmiennej y przypisujemy wartość 10
  • za pomocą operatora odejmij i przypisz (-=) odejmujemy wartość 4 i przypisujemy wynik do zmiennej y
  • za pomocą funkcji print() wyświetlamy wynik
zapas_produktow = 500  
sprzedane_produkty = 30  
zapas_produktow -= sprzedane_produkty 
print(zapas_produktow) # wynik: 470

W przykładzie:

  • do zmiennej zapas_produktow przypisujemy wartość 500 (stan początkowy zapasów)
  • do zmiennej sprzedane_produkty przypisujemy wartość 30 (liczba sprzedanych produktów)
  • do zmiennej zapas_produktow przypisujemy wynik odejmowania sprzedanych produktów od zapasu
  • za pomocą funkcji print() wyświetlamy zapas produktów
cena_zamowienia = 200  
rabat = 0.10  
cena_zamowienia *= (1 - rabat)  
print(cena_zamowienia) # wynik: 180.0

W przykładzie:

  • do zmiennej cena_zamowienia przypisujemy wartość 200 (początkowa cena zamówienia)
  • do zmiennej rabat przypisujemy wartość rabatu
  • obliczamy cenę po rabacie i wynik przypisujemy do zmiennej cena_zamowienia
  • za pomocą funkcji print() wyświetlamy cenę zamówienia

Python Operatory porównania (operatory relacyjne)

Operatory porównania w Pythonie służą do porównywania wartości i zwracają wynik w postaci wartości logicznej True lub False. Są one kluczowe w podejmowaniu decyzji w programie, gdyż pozwalają na sprawdzenie, czy dwie zmienne lub dwa wyrażenia są sobie równe, większe, mniejsze itp.

Operatory porównania są wykorzystywane w instrukcjach w warunkowych (if, elif, else) do kontrolowania przepływu programu. Informacje na temat instrukcji warunkowych znajdziesz w naszym artykule Instrukcje warunkowe w Pythonie

OperatorOpisPrzykładWynik
==Równe5 == 5True
!=Różne5 != 3True
>Większe niż5 > 3True
<Mniejsze niż5 < 8True
>=Większe niż lub równe5 >= 5True
<=Mniejsze niż lub równe5 <= 3False
zapas_produktow = 500 
zamowienie = 300

czy_wystarczy_zapasow = zapas_produktow >= zamowienie
print(czy_wystarczy_zapasow) # wynik: True (500 >= 300)

W przykładzie:

  • do zmiennej zapas_produktow przypisujemy liczbę dostępnych sztuk produktu w magazynie
  • do zmiennej zamowienie przypisujemy liczbę sztuk, które klient chce zamówić
  • sprawdzamy, czy zapas jest wystarczający do realizacji zamówienia
  • za pomocą funkcji print() wyświetlamy informację True, jeśli zapas jest wystarczający lub False, jeśli zapas nie jest wystarczający
zrealizowana_sprzedaz = 5200
cel_sprzedazowy = 5000

czy_osiagniety_cel = sprzedaz_pracownika >= cel_sprzedazowy
print(czy_osiagniety_cel) # wynik: True (5200 >= 5000)

W przykładzie:

  • do zmiennej zrealizowana_sprzedaz przypisujemy zrealizowaną przez pracownika sprzedaż
  • do zmiennej cel_sprzedazowy przypisujemy cel, który był do zrealizowania
  • sprawdzamy, czy cel został zrealizowany
  • wyświetlamy wynik True, jeśli cel jest zrealizowany lub False, jeśli cel zrealizowany nie jest

Python Operatory logiczne

Operatory logiczne w Pythonie służą do manipulowania wartościami logicznymi. Zwracają one w wyniku prawdę (True) lub fałsz (False).

Umożliwiają one budowanie złożonych warunków w programach, co pozwala na podejmowanie decyzji w oparciu o kilka kryteriów jednocześnie. Są kluczowe w instrukcjach warunkowych, gdzie często sprawdza się, czy spełnionych jest kilka warunków naraz lub czy którykolwiek z warunków jest prawdziwy.

OperatorOpisPrzykładWynik
andzwraca True, gdy wszystkie warunki są True2==2 and 2 > 4False
orzwraca True, gdy przynajmniej jeden warunek jest True2==2 or 2 > 4True
notodwraca wartość logiczną (True na False, False na True)not 2==2False

Priorytet wykonywania operatorów logicznych w Pythonie to:

  • not
  • następnie operator and
  • na końcu operator or

Szczegółowe informacje na temat operatorów logicznych w Pythonie znajdziesz w artykule Czym jest typ danych logiczny w Pythonie?

wartosc_zamowienia = 600
ilosc_produktow = 3

czy_promocja = wartosc_zamowienia >= 500 and ilosc_produktow > 2
print(czy_promocja) # wynik: True

W przykładzie:

  • do zmiennej wartosc_zamowienia przypisujemy wartość zamówienia złożonego przez klienta
  • do zmiennej ilosc_produktow przypisujemy ilość kupionych przez klienta produktów
  • sprawdzamy, czy klient spełnia warunki promocji tzn. czy wartość zamówienia jest większa równa 500 oraz czy liczba zamówionych produktów jest większa niż 2 i wynik przypisujemy do zmiennej czy_promocja
  • wyświetlamy informację True, jeśli klient spełnia warunki promocji lub False, jeśli klient nie spełnia warunków promocji

Python Operatory tożsamości

Operatory tożsamości w Pythonie służą do sprawdzania, czy dwie zmienne odnoszą się do tego samego obiektu w pamięci.

Nie porównują one wartości zmiennych, ale ich tożsamość – czyli miejsce w pamięci, w którym zmienne są przechowywane. Dzięki temu możemy określić, czy dwie zmienne wskazują na ten sam obiekt, a nie tylko mają takie same wartości.

OperatorOpisPrzykładWynik
isSprawdza, czy dwie zmienne odnoszą się do tego samego obiektu w pamięcia = [1, 2]; b = a; a is bTrue
is notSprawdza, czy dwie zmienne nie odnoszą się do tego samego obiektu w pamięcia = [1, 2]; b = [1, 2]; a is not bTrue

Zastosowanie operatorów tożsamości:

  • sprawdzanie unikalności obiektów – jest przydatne w sytuacjach, gdy chcemy wiedzieć, czy dwie zmienne odwołują się do tego samego obiektu w pamięci
  • optymalizacja w programowaniu – programy, w których nie chcemy kopiować obiektów tyko odnosić się do jednego oryginału
  • debugowanie – analizowanie błędów w programie związanych z odwołaniami do obiektów.

W Pythonie dwie zmienne mogą odnosić się do tego samego miejsca w pamięci, gdy jedna zmienna jest przypisana jako referencja do drugiej. Informacje na temat zmiennych prezentujemy w artykule Python zmienne

a = [1, 2, 3] # Tworzenie listy
b = a 
# Zmienna 'b' odnosi się do tego samego miejsca w pamięci, co 'a'

Operatory tożsamości są szczególnie przydatne w pracy z obiektami złożonymi, takimi jak listy, słowniki czy klasy.

Python Operatory przynależności

Operatory przynależności w Pythonie służą do sprawdzania, czy określony element znajduje się w danej kolekcji, takiej jak lista, krotka, słownik, zbiór czy ciąg znaków.

Wynikiem działania operatorów przynależności jest wartość logiczna:

  • True, jesli element występuje w kolekcji
  • False, jeśli element w kolekcji nie występuje.

Zastosowanie operatorów przynależności:

  • wyszukiwanie elementów w kolekcjach – umożliwiają sprawdzenie, czy element istnieje na liście, w zbiorze lub w krotce
  • walidacja danych – możemy sprawdzić, czy dane wprowadzone przez użytkownika są obecne w określonym zbiorze
  • operacje na słownikach – możemy sprawdzić, czy w słowniku istnieje klucz
  • analiza tekstu – możemy sprawdzić, czy określony znak lub ciąg znaków występuje w większym ciągu znaków.
dostepne_produkty = ["Smartfon", "Laptop", "Tablet", "Słuchawki"]

czy_w_magazynie = "Laptop" in dostepne_produkty
print(czy_w_magazynie) # wynik: True

W przykładzie sprawdzamy, czy produkt „Laptop” jest dostępny w magazynie.

uprawnienia_uzytkow = "admin" # poziom uprawnień użytkownika
dopuszczalne_uprawnienia = ["admin", "manager", "superuser"]

czy_ma_uprawnienia = uprawnienia_uzytkow in dopuszczalne_uprawnienia
print(czy_ma_uprawnienia) # wynik: True

W przykładzie sprawdzamy, czy użytkownik ma odpowiednie uprawnienia.

Python Operatory bitowe

Operatory bitowe w Pythonie służą do wykonywania operacji na poziomie pojedynczych bitów.

Działają one bezpośrednio na liczbach całkowitych, traktując je jako binarne reprezentacje (ciągi bitów). Przydatne są w programowaniu niskopoziomowym np. sterowanie sprzętem, operacje na maskach bitowych, czy optymalizacja algorytmów.

OperatorOpisPrzykładWynik
&AND – zwraca 1 tylko, gdy obydwa bity są równe 15 & 31
|OR – zwraca 1, gdy przynajmniej jeden bit jest równy 15 | 37
^XOR – zwraca 1, gdy bity są różne5 ^ 36
~Negacja – zmienia każdy bit na przeciwny~5-6
<<Przesunięcie w lewo – przesuwa bity w lewo5 << 110
>Przesunięcie w prawo – przesuwa bity w prawo5 >> 12
uprawnienia = 0b1101 # uprawnienia użytkownika są na pozycjach 0, 2, 3

# Sprawdzanie, czy dany bit (np. bit 2) jest włączony
czy_bit_2_wlaczone = (uprawnienia & 0b0100) != 0
print(czy_bit_2_wlaczone) # wynik: True

Kolejność wykonywania operatorów w Pythonie

Kolejność wykonywania operatorów (priorytet operatorów) w Pythonie określa, które operacje są wykonywane jako pierwsze w przypadku wyrażeń zawierających kilka operatorów. 

Ogólna zasada kolejności operatorów w Pythonie:

  1. Operacje w nawiasach
  2. Operatory jednoargumentowe np. – dla liczby ujemnej, not
  3. Operatory arytmetyczne w następującej kolejności:  potęgowanie, mnożenie, dzielenie, dzielenie całkowite, reszta z dzielenia
  4. Operatory dodawania i odejmowania
  5. Operatory porównania
  6. Operatory logiczne
  7. Operatory przypisania

W przypadku operatorów o takim samym priorytecie Python wykonuje operacje od lewej do prawej. Kolejność wykonywania działań możemy zmieniać za pomocą nawiasów.  

Operatory w Pythonie są mechanizmem umożliwiającym manipulowanie danymi i sterowanie przepływem programu. 

Znajomość operatorów jest niezbędna do pisania kodu w języku Python. Większość przedstawionych wyżej operatorów poznasz w trakcie naszego kursu Python poziom podstawowy

Paula Gajewska

Programistka Python, SQL
Udostępnij wpis: udostępnij Facebook udostępnij Linkedin udostępnij e-mail
Podobne artykuły z kategorii: Python

Może Cię zainteresować