
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
Operator | Opis | Przykład | Wynik |
---|---|---|---|
+ | Dodawanie | 5 + 3 | 8 |
– | Odejmowanie | 5 – 3 | 2 |
* | Mnożenie | 5 * 3 | 15 |
/ | Dzielenie (wynik zmiennoprzecinkowy) | 5 / 2 | 2.5 |
// | Dzielenie całkowite (wynik zaokrąglony w dół) | 5 // 2 | 2 |
% | Reszta z dzielenia | 5 % 2 | 1 |
** | Potęgowanie | 5 ** 2 | 25 |
- 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
Operator | Opis | Przykład | Wynik |
---|---|---|---|
= | Proste przypisanie | a = 10 | a = 10 |
+= | Dodaj i przypisz | a += 5 (a = 10) | a = 15 |
-= | Odejmij i przypisz | a -= 3 (a = 10) | a = 7 |
*= | Przemnóż przez i przypisz | a *= 2 (a = 10) | a = 20 |
/= | Podziel przez i przypisz | a /= 2 (a = 10) | a = 5.0 |
//= | Podziel całkowicie przez i przypisz | a //= 3 (a = 10) | a = 3 |
%= | Reszta z dzielenia i przypisz | a %= 3 (a = 10) | a = 1 |
**= | Potęgowanie i przypisywanie | a **= 2 (a = 10) | a = 100 |
&= | Operacja AND bitowy i przypisanie | x &= 3 | x = 1 |
|= | Operacja OR bitowy i przypisanie | x |= 3 | x = 7 |
^= | Operacja XOR bitowy i przypisanie | x ^= 3 | x = 6 |
>>= | Przesunięcie bitowe w prawo i przypisanie | x >>= 1 | x = 2 |
<<= | Przesunięcie bitowe w lewo i przypisanie | x <<= 1 | x = 10 |
:= | Operator przypisania w wyrażeniach (od Python 3.8) | x := 5 | x = 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
Operator | Opis | Przykład | Wynik |
---|---|---|---|
== | Równe | 5 == 5 | True |
!= | Różne | 5 != 3 | True |
> | Większe niż | 5 > 3 | True |
< | Mniejsze niż | 5 < 8 | True |
>= | Większe niż lub równe | 5 >= 5 | True |
<= | Mniejsze niż lub równe | 5 <= 3 | False |
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.
Operator | Opis | Przykład | Wynik |
---|---|---|---|
and | zwraca True, gdy wszystkie warunki są True | 2==2 and 2 > 4 | False |
or | zwraca True, gdy przynajmniej jeden warunek jest True | 2==2 or 2 > 4 | True |
not | odwraca wartość logiczną (True na False, False na True) | not 2==2 | False |
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.
Operator | Opis | Przykład | Wynik |
---|---|---|---|
is | Sprawdza, czy dwie zmienne odnoszą się do tego samego obiektu w pamięci | a = [1, 2]; b = a; a is b | True |
is not | Sprawdza, czy dwie zmienne nie odnoszą się do tego samego obiektu w pamięci | a = [1, 2]; b = [1, 2]; a is not b | True |
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.
Operator | Opis | Przykład | Wynik |
---|---|---|---|
& | AND – zwraca 1 tylko, gdy obydwa bity są równe 1 | 5 & 3 | 1 |
| | OR – zwraca 1, gdy przynajmniej jeden bit jest równy 1 | 5 | 3 | 7 |
^ | XOR – zwraca 1, gdy bity są różne | 5 ^ 3 | 6 |
~ | Negacja – zmienia każdy bit na przeciwny | ~5 | -6 |
<< | Przesunięcie w lewo – przesuwa bity w lewo | 5 << 1 | 10 |
> | Przesunięcie w prawo – przesuwa bity w prawo | 5 >> 1 | 2 |
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:
- Operacje w nawiasach
- Operatory jednoargumentowe np. – dla liczby ujemnej, not
- Operatory arytmetyczne w następującej kolejności: potęgowanie, mnożenie, dzielenie, dzielenie całkowite, reszta z dzielenia
- Operatory dodawania i odejmowania
- Operatory porównania
- Operatory logiczne
- 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.
