Tematem niniejszego artykułu są operatory w języku Python 😊. To podstawowy element każdego programu mającego za zadanie wykonywać jakiekolwiek operacje na danych 💥! Poznasz operatory arytmetyczne, relacyjne, logiczne i przypisania, a także otrzymasz szczegółowy opis każdego z nich 👍! Zapraszam 😄!

ZOBACZ JAKIE WYSTĘPUJĄ OPERATORY W JĘZYKU PYTHON!

Zacznijmy od wymienienia sobie występujących rodzajów operatorów, a potem dokładnie scharakteryzuję każdy z nich 😉.

JAKIE WYSTĘPUJĄ RODZAJE OPERATORÓW W JĘZYKU PYTHON?

W Pythonie wyróżniamy 4 rodzaje operatorów 👇:

  • arytmetyczne,
  • relacyjne,
  • logiczne,
  • przypisania.

Wszystkie z nich różnią się nie tylko symbolem, lecz także zastosowaniem ℹ️. Przedstawię Ci teraz dokładny opis wszystkich czterech rodzajów 😊!

NA CZYM POLEGAJĄ OPERATORY ARYTMETYCZNE W JĘZYKU PYTHON?

Arytmetyczne operatory w języku Python składają się z 5 podstawowych operacji arytmetycznych 👇:

  • dodawanie (+),
  • odejmowanie (-),
  • mnożenie (*),
  • dzielenie (/),
  • modulo, czyli reszta z dzielenia (%).

Warto jednak wiedzieć, że w Pythonie, poza tymi najbardziej podstawowymi operacjami, wyróżniamy również takie, których nie znajdziesz w wielu innych językach programowania (są ekskluzywne) 😮! Są to 👇:

  • dzielenie całkowite (//),
  • potęgowanie (**).

Mało tego, część z tych operatorów podstawowych pozwala na przeprowadzanie operacji na innych typach danych, niż liczby ⚠️!

Teraz wyjaśnię każdy z wyżej wymienionych operatorów według tej samej kolejności 🙂.

DODAWANIE (+)

Znak "plusa" oznacza tę samą sumę, jaką znasz z lekcji matematyki 😊. Jest to zsumowanie dwóch lub więcej liczb ℹ️. Najprostszy przykład jest taki 👇:

print(6 + 2)

6 + 2, razem 8 🙂. I taki będzie wynik końcowy ✅. Aczkolwiek musisz wiedzieć, że to nie jest jedyny sposób użycia tego operatora 😲!

Drugi wariant to sytuacja, w której sumujemy liczby, a dowolna z nich jest z ułamkiem (mówimy na to "liczba zmiennoprzecinkowa" ℹ️):

print(6.7 + 2)

Otrzymujemy łączny wynik równy 8.7 🙂. Czyli już wiesz, że można bez problemu mieszać ze sobą liczby całkowite (bez ułamka) i zmiennoprzecinkowe (z ułamkiem) 👍.

Natomiast zwróć uwagę na coś innego - znak oddzielający część całkowitą od ułamkowej to kropka, a nie przecinek 😱! W programowaniu obowiązuje notacja amerykańska, w której część ułamkową oddziela się wyłącznie kropką ⚠️. Także pamiętaj o tym, ilekroć będziesz korzystać z liczb zmiennoprzecinkowych 💥!

To nie wszystko 😳!

Sposób użycia nr 3: łączenie łańcuchów znaków (tak zwana "konkatenacja" ℹ️) 😱! Stosując ten sam operator dodawania na łańcuchach znaków (typ danych przeznaczony do tekstów ℹ️, choć to bardzo mocne uproszczenie!), możesz połączyć kilka (dwa lub więcej) łańcuchów w jeden 👇:

print('Pyt' + 'hon')

Otrzymamy jeden łańcuch:

"Python"

Działa trochę jak puzzle 🧩.

Wszystkie szczegóły odnośnie łańcuchowego typu danych są zawarte w załączonym wyżej artykule, więc aby nie odchodzić od tłumaczenia operatorów, odwołam Cię do niego jeśli interesuje Cię ten temat 😉.

Gdyby Cię to zastanawiało, to nie wolno łączyć ze sobą liczb i łańcuchów ⛔! Taki zapis 👇:

print('Pyt' + 2)

spowoduje awarię programu poprzez "zgłoszenie wyjątku" 💥!!! Temat wyjątków jest nieco bardziej skomplikowany, lecz gdyby Cię korciło się z tym zapoznać 😄, to również znajdziesz wyjaśnienia w osobnym artykule 🚀!

Operator dodawania w języku Python

Operator dodawania w języku Python pozwala nie tylko na sumowanie liczb, lecz także na konkatenację łańcuchów znaków (łączenie kilku łańcuchów w jeden).

Podsumowując, operator dodawania w języku Python może zostać użyty na 3 sposoby 👇:

  1. sumowanie liczb całkowitych (bez ułamka) i otrzymanie wyniku w postaci liczby całkowitej,
  2. sumowanie liczb całkowitych (bez ułamka) oraz zmiennoprzecinkowych (z ułamkiem) i otrzymanie w wyniku w postaci liczby zmiennoprzecinkowej,
  3. konkatenacja (łączenie) łańcuchów znaków i otrzymanie w wyniku w postaci "połączonego" łańcucha znaków.

To wszystko co musisz wiedzieć o operatorze dodawania ✔️. Idźmy dalej 😅!

ODEJMOWANIE (-)

"Minus" to drugi operator arytmetyczny w języku Python, jaki również jest dobrze znany z matematyki 😉. W tym wypadku, jego "efekt" zależy od liczby podanych argumentów (czyli liczb) 👇:

  • jeżeli dotyczy tylko jednej liczby jako umieszczony przed nią, to zamienia jej znak na przeciwny,
  • jeżeli dotyczy dwóch/więcej liczb jako umieszczony pomiędzy dwoma, to wykonuje różnicę (odejmowanie).

To jest przykład użycia operatora odejmowania dla zamiany znaku na przeciwny 👇:

print(-6)

a to jest przykład użycia wykonujący odejmowanie 👇:

print(6 - 2)

Wynik równy 4 🙂. Podobnie jak przy dodawaniu, gdy którakolwiek liczb jest z ułamkiem (zmiennoprzecinkowa), wtedy wynik także jest z ułamkiem 👇:

print(6.7 - 2)

Wynik równy 4.7 😊. Zwracam ponownie uwagę na kropkę zamiast przecinka, jako znak wydzielania części dziesiętnej ⚠️!

Tutaj nie ma czegoś takiego jak "odejmowanie łańcuchów", jak mogłeś(-aś) pomyśleć sugerując się operatorem dodawania 😁. W drugą stronę robi się to inaczej, z użyciem specjalnego operatora (więcej informacji w odrębnym artykule) ℹ️. Wszelkie próby zakończą się błędem w postaci zgłoszenia wyjątku (więcej informacji w osobnym materiale 👈) ❌.

Operator odejmowania w języku Python

Operator odejmowania w języku Python pozwala jedynie na zmienianie znaku liczby na przeciwny oraz wykonanie odejmowania liczb.

Podsumowując, operator odejmowania w języku Python używa się na 3 sposoby 👇:

  1. "odwracanie" znaku liczby na przeciwny,
  2. odejmowanie od siebie dwóch lub więcej liczb całkowitych (bez ułamka) i otrzymanie wyniku w postaci liczby całkowitej,
  3. odejmowanie od siebie dwóch lub więcej liczb całkowitych (bez ułamka) oraz zmiennoprzecinkowych (z ułamkiem) i otrzymanie wyniku w postaci liczby zmiennoprzecinkowej.
MNOŻENIE (*)

Operator mnożenia w postaci "gwiazdki" (choć tak naprawdę nazywa się to "asterysk" ℹ️), to następny podstawowy operator, który pozwala na wykonanie iloczynu, czyli mnożenia dwóch/więcej liczb 💪:

print(6*5)

6 mnożone przez 5, czyli 30 😊. Jak najbardziej można stosować liczby zmiennoprzecinkowe (z ułamkiem). Lecz uwaga ⚠️! Jest druga możliwość 😲!

W momencie, gdy jednym z argumentów jest łańcuch znaków (tekst, znowu upraszczając 🙃), uzyskujemy wtedy ten sam łańcuch "przemnożony" przez daną liczbę 😱!!! Oto przykład 👇:

print('Python'*3)

Wiesz jaki to da wynik 🤔? Taki:

"PythonPythonPython"

W taki sposób możesz łatwo "skopiować" dany łańcuch znaków tyle razy, ile chcesz 😅! Warunkiem jest to, aby liczba była bez ułamka (bo bez sensu byłoby tworzenie niekompletnych łańcuchów) ⚠️!

To nadal nie jest wszystko 💥! Ten sam operator potrafi skopiować wszystkie elementy listy (struktura danych służąca do przechowywania wielu elementów w jednym miejscu ℹ️) 😱!!! Prosty przykład 👇:

numbers = [1, 2, 3]

print(numbers*3)

To sprawi, że otrzymamy 3 ciągi tych samych elementów 👑! Tego również nie znajdziesz w innych językach programowania 😎! W tym przypadku również liczba musi być całkowita (bez ułamka) ⚠️!

Operator mnożenia w języku Python

Operator mnożenia w języku Python dotyczy nie tylko wykonania iloczynu liczb, lecz także "skopiowania" łańcucha znaków oraz ciągu elementów listy podaną liczbę razy!

Podsumowując, operator mnożenia w języku Python daje nam aż 4 sposoby użycia 👇:

  1. mnożenie dwóch/więcej liczb całkowitych (bez ułamka) i otrzymanie wyniku iloczynu jako liczby całkowitej,
  2. mnożenie dwóch/więcej liczb całkowitych oraz zmiennoprzecinkowych i otrzymanie wyniku iloczynu jako liczby zmiennoprzecinkowej,
  3. mnożenie łańcucha znaków przez liczbę całkowitą (bez ułamka) i otrzymanie "skopiowanego" łańcucha znaków tyle razy, ile podano,
  4. mnożenie listy przez liczbę całkowitą (bez znaku) i otrzymanie "skopiowanego" ciągu elementów tyle razy, ile podano.

Nieźle, co 😅?

DZIELENIE (/)

Znak ukośnika (ang. slash), przeznaczony jest do operatora dzielenia. Tak jak w całej reszcie języków programowania 🙂, korzystamy z niego do uzyskania iloczynu 👍. Wystarczą dwie liczby 👇:

print(6 / 2)

Tu znowu uwaga ⚠️! Wyjątkowo przy tym operatorze, wynik jest zawsze liczbą zmiennoprzecinkową (z ułamkiem), nawet gdy podasz same liczby całkowite (bez ułamka) i dzieli się bez reszty 💥! Czyli powyższe wyrażenie da nam wynik równy 3.0, a nie 3 (bez niczego) 😮!

Jeżeli zależy Ci na uzyskaniu liczby bez ułamka, musisz zastosować operator dzielenia całkowitego, używając dwóch znaków ukośnika, zamiast jednego 🔥! W dalszej części pokażę jak to wygląda, aby trzymać się kolejności u góry ℹ️.

Ostatnie zdanie o dzieleniu przez zero, które w programowaniu również jest niedopuszczalne 👇:

print(6 / 0)

i tylko spowoduje awarię programu jako zgłoszenie wyjątku "ZeroDivisionError" 💣.

Operator dzielenia w języku Python

Operator dzielenia w języku Python przeznaczony jest jedynie do wykonywania ilorazu liczb, a wynik jest zawsze w postaci liczby zmiennoprzecinkowej (z ułamkiem).

Podsumowując, operator dzielenia, poza wykonywaniem ilorazu na liczbach całkowitych (bez ułamka) i zmiennoprzecinkowych (z ułamkiem) oraz zwrócenie wyniku wyłącznie w postaci liczby zmiennoprzecinkowej, nie pozwala na jakiekolwiek inne operacje 😊.

MODULO, CZYLI RESZTA Z DZIELENIA (%)

Ostatni z podstawowych operatorów Pythona, to wyznaczanie reszty z dzielenia nazywane powszechnie "modulo" 🔥. W matematyce, resztą z dzielenia jest ta wartość, która "zostaje" jako fragment po podzieleniu przez siebie liczb ℹ️. Na przykład gdy podzielisz sobie 8 przez 6, to wynikiem będzie 1 reszty 2. W tym wypadku, resztą z dzielenia jest 2 💡. Jeżeli podzielisz 3 przez 6, to wynik będzie równy 0 reszty 3 i wtedy resztą z dzielenia jest 3 🎯.

Jeżeli potrzebujesz więcej informacji tłumaczących wyznaczanie reszty z dzielenia, możesz zajrzeć do załączonego wyżej artykułu ℹ️.

Tak wygląda przykład użycia, gdy dzielna jest większa od dzielnika (jest przynajmniej jedna cała część) 👇:

print(8 % 6)

a tutaj przykład, gdy jest odwrotnie (jest tylko sama reszta, bez żadnych części całych) 👇:

print(3 % 6)

Modulo można przeprowadzać również na liczbach zmiennoprzecinkowych (z ułamkiem) 🤩! Wtedy na przykład to 👇:

print(8.5 % 6)

przyniesie rezultat równy 2.5 😉. Jeszcze raz powtórzę się na temat znaku, którym oddzielamy część dziesiętną - używamy nie przecinka, lecz kropki ⚠️!

Identycznie jak przy dzieleniu przez zero, wstawianie "zera" przy wyznaczaniu reszty z dzielenia również nie jest wskazane ⛔:

print(8 % 0)

Tylko poskutkuje błędem w postaci "ZeroDivisionError" jako typ zgłoszonego wyjątku ❌!

Operator modulo w języku Python

Operator modulo w języku Python służy do wyznaczania reszty z dzielenia liczb. Pozwala wyznaczać resztę z dzielenia również z liczb zmiennoprzecinkowych.

Podsumowując, operator modulo pozwala na 2 sposoby użycia 👇:

  1. wyznaczanie reszty z dzielenia dwóch/więcej liczb całkowitych (bez ułamka) i otrzymanie wyniku w postaci reszty jako liczby całkowitej,
  2. wyznaczanie reszty z dzielenia dwóch/więcej liczb całkowitych (bez ułamka) oraz liczb zmiennoprzecinkowych (z ułamkiem) i otrzymanie wyniku w postaci reszty jako liczby zmiennoprzecinkowej.

Na tym się kończy prezentacja podstawowych operatorów arytmetycznych w Pythonie 😄. Teraz czas na te wyjątkowe 🎉! Pisząc "wyjątkowe" mam na myśli takie, których nie znajdziesz w zdecydowanej większości innych języków programowania 🔥!

DZIELENIE CAŁKOWITE (//)

Operator dzielenia całkowitego to jeden z dwóch unikatowych operatorów jakie występują w Pythonie 🌟. Składa się z dwóch ukośników, zamiast jednego (//). Różnica pomiędzy "tradycyjnym" operatorem, a tym jest taka, że tutaj uzyskujemy wynik w postaci liczby całkowitej (bez ułamka) 😱!

Wykonując takie dzielenie z użyciem tradycyjnego operatora 👇:

print(6 / 2)

otrzymamy wynik 3.0 (znowu zwrócę uwagę na kropkę, zamiast przecinka 😅!). Natomiast posługując się tym drugim operatorem 👇:

print(6 // 2)

wynik już będzie równy 3, bez żadnej części dziesiętnej 🔥!

W tym miejscu kolejna przestroga 👀! Aby móc korzystać z tego operatora świadomie, musisz wiedzieć co się dzieje wówczas, gdy mamy do czynienia z dzieleniem z resztą 😳! Czyli na przykład taka sytuacja 👇:

print(5 // 2)

Pomyśl chwilę 🤔. Wynik byłby równy 2.5, gdyby to było "zwykłe" dzielenie. Stawiasz na wynik równy 3 3️⃣? To nie będzie równe 3 ⛔! Ostatecznym wynikiem będzie wartość 2 😱!!!

Przy użyciu tego operatora część ułamkowa nie jest zaokrąglana, tylko obcinana ✂️!!! "Obcinanie" oznacza wyznaczenie wartości jako liczby całkowitej (bez ułamka) i dosłowne "obcięcie" części ułamkowej, tak jakby jej w ogóle nie było 💡. Jak mamy liczbę 2.5, to 0.5 jest "obcinane" i zostaje wartość 2 ✅. Gdybyśmy mieli wartość 2.99, to 0.99 zostałoby "obcięte" i wynikiem ostatecznym byłaby również wartość 2 ✅. Tak to działa 🧠!

Operator dzielenia całkowitego w języku Python

Operator dzielenia całkowitego w języku Python, w przeciwieństwie do operatora "tradycyjnego", wyznacza wynik w postaci liczby całkowitej (bez ułamka), a każda część ułamkowa nie jest zaokrąglana, tylko "obcinana" (operacja nazywana w matematyce "podłogą").

Więcej informacji o zjawisku obcinania przy dzieleniu całkowitoliczbowym, znajdziesz w wyżej załączonym artykule ℹ️.

POTĘGOWANIE (**)

Operator potęgowania to drugi wyjątkowy operator Pythona 🌟. Przy użyciu dwóch "gwiazdek" (asterysków) ustawionych obok siebie, możesz podnieść daną liczbę do N-tej potęgi 😎! Prosty przykład 👇:

print(5 ** 3)

Po lewej stronie mamy podstawę potęgi, po prawej, wykładnik potęgi ℹ️. To oznacza 5 podniesione do potęgi 3, czyli wynikiem będzie 125 😄.

Liczby zmiennoprzecinkowe (z ułamkiem) także są dopuszczalne 👇:

print(5.5 ** 3.25)

Tu będziemy mieli wynik 255 w zaokrągleniu (dokładnie, to 254.7878657133309 😝) 😅.

Zapamiętaj dobrze ten operator - jest wygodnym skrótem do potęgowania liczb bez sięgania do funkcji matematycznych 😉!

Operator potęgowania w języku Python

Operator potęgowania w języku Python pozwala na ekspresowe otrzymanie wyniku spotęgowania liczby do danej potęgi. Pozwala też na korzystanie z liczb zmiennoprzecinkowych (z ułamkiem).

W tym miejscu zakończyłem omawianie operatorów arytmetycznych w języku Python ❤️! Zaczynamy analizować drugi rodzaj: relacyjne 🚀!

NA CZYM POLEGAJĄ OPERATORY RELACYJNE W JĘZYKU PYTHON?

Operatory relacyjne w Pythonie (nazywane zamiennie "porównania" ℹ️) służą do definiowania określonych warunków dotyczących porównywania ze sobą wartości różnych typów danych, nie tylko liczb 💡. Przykłady takich warunków są następujące 👇:

  • Czy liczba A jest równa liczbie B?
  • Czy lista posiada w sobie jakiekolwiek elementy?
  • Czy łańcuch znaków A jest dłuższy od łańcucha znaków B?

Aby skonstruować taki warunek, musimy posłużyć się operatorami relacyjnymi 💥!

Oto tabela ukazująca pełną listę operatorów relacyjnych występujących w Pythonie razem z przykładami dla każdego z nich 👇:

OPERATOR ZNACZENIE PRZYKŁAD
== równe 3 == 10
!= różne 4 != 2
< mniejsze od 7 < 5
<= mniejsze bądź równe od 2 <= 6
> większe od 5 > 3
>= większe bądź równe od 8 >= 12

Zauważ, że pierwszy operator do badania czy dane wartości są sobie równe, składa się z dwóch znaków równości 💥! Możesz być przyzwyczajony(-a) po lekcjach matematyki, że tam jest zawsze jeden znak równości, ale nie w programowaniu! Tutaj jeden znak równości dotyczy operatora przypisania (przejdziemy do niego w dalszej części artykułu) 😱! Dlatego przestrzegam, aby się nie pomylić ⚠️!

Wynikiem każdego z tych operatorów jest wartość logiczna (tzw. "bool") 😲. To jest typ danych przyjmujący jedną z dwóch wartości: "prawdę" (True) lub "fałsz" (False) 🔥. Gdy dla przykładu, zapiszemy sobie poniższe wyrażenie 👇:

print(5 < 2)

to rezultatem będzie wartość "False", bo liczba 5 nie jest mniejsza od 2 ☑️.

Jak napisałem wcześniej, relacyjne operatory w języku Python nie ograniczają się tylko do liczb ℹ️! Możesz ich użyć do wszystkich typów danych 👍. Ten przykład 👇:

numbers = [1, 2, 3]

print(len(numbers) >= 3)

sprawdza czy lista posiada co najmniej 3 elementy. Posiada, więc zwróci wartość "True" ☑️. Do uzyskania liczby elementów w danej strukturze danych używa się funkcji "len" ℹ️.

Można by podać jeszcze wiele innych przykładów użycia, jednak nie chcę Cię zasypywać tak dużą ilością informacji 😊.

Operatory relacyjne w języku Python

Operatory relacyjne w języku Python służą do konstruowania warunków do spełnienia na zasadzie badania dwóch wartości. Wartością końcową każdego takiego wyrażenia jest wartość logiczna ("bool").

Mamy wyjaśnione operatory relacyjne 😄! Przechodzimy teraz do operatorów logicznych ⏩!

NA CZYM POLEGAJĄ OPERATORY LOGICZNE W JĘZYKU PYTHON?

Operatory logiczne w języku Python pozwalają nam na budowanie bardziej złożonych wyrażeń w postaci "połączonych" wielu warunków w jedno 💪. Często jest tak, że aby doszło do jakiegoś skutku, nie wystarczy spełnienie jednego warunku 😳. Może być potrzeba spełnienia 3 jakichś warunków jednocześnie 😲! Innym razem mogą powstać 3 różne warunki, natomiast wystarczy spełnić dowolny z nich, aby coś się stało. Wtedy właśnie przydają się nam te operatory 🙂!

W Pythonie, występują tylko 3 operatory logiczne 👇:

A teraz prezentacja każdego z nich 😉!

KONIUNKCJA (AND)

Koniunkcja (ang. conjunction) to zdanie logiczne uznane za prawdziwe wtedy i tylko wtedy, gdy wszystkie zdania (warunki) są prawdziwe (spełnione) ✅. W języku Python, koniunkcję tworzymy przy pomocy słowa kluczowego "and" (ang. oraz) ℹ️. To jest przykład 👇:

print(6 > 5 and 2 <= 10)

Mamy 2 osobne warunki. Python najpierw sprawdza czy jest spełniony pierwszy z lewej (6 > 5) 1️⃣. Jest on spełniony, zatem przechodzi do kolejnego warunku i sprawdza czy ten jest spełniony (2 <= 10) 2️⃣. Drugi warunek również jest, zatem rezultatem końcowym będzie wartość "True" ✔️.

"Badanie" spełnialności wszystkich warunków dla koniunkcji przebiega w następujący sposób 👇:

  1. język zaczyna analizowanie warunków zaczynając zawsze od pierwszego po lewej stronie,
  2. język sprawdza czy badany warunek jest spełniony i jeżeli nie jest, to przerywa dalsze sprawdzanie i zwraca "False",
  3. jeżeli badany warunek jest spełniony, to język sprawdza czy są kolejne do zbadania:
    1. jeżeli jest, to przechodzi do następnego i wraca do pkt. 2,
    2. jeżeli nie ma więcej warunków do sprawdzenia, to język zwraca wynik koniunkcji jako "True".

Bez względu na to, czy znajduje się jedno, 2 czy nie wiadomo ile warunków, wszystkie bez wyjątku muszą być spełnione, aby wynik koniunkcji był uznany za "prawdziwy" ✅.

ALTERNATYWA (OR)

Alternatywa (ang. disjunction) jest logicznym zdaniem polegającym na tym, że wystarczy spełnienie dowolnego z warunków (zdań), żeby uznać je prawdziwe (spełnione) ✅. W Pythonie odpowiada za to słowo kluczowe "or" (ang. lub / albo) ℹ️. A oto przykład użycia 👇:

print(4 != 4 or 7 > 5)

2 warunki do sprawdzenia, lecz tym razem wystarczy dowolny z nich, aby wyrażenie zostało spełnione ⚠️. Python najpierw bada pierwszy warunek (4 != 4) 1️⃣. Nie jest spełniony, bo zachodzi sprzeczność (4 nie jest różne od 4 🙃) ❌. Natomiast to nie oznacza, że na tym poprzestaje 😱! Przechodzi do drugiego warunku i sprawdza czy przypadkiem ten nie jest spełniony (7 > 5). Jest 😊! I to wystarczy, aby całe wyrażenie uznać za spełnione ✅. Wynikiem końcowym będzie wartość "True" ✔️.

Gdy mowa o alternatywie, "badanie" spełnialności wszystkich warunków wygląda następująco 👇:

  1. język zaczyna analizowanie warunków zaczynając zawsze od pierwszego po lewej stronie,
  2. język sprawdza czy badany warunek jest spełniony i jeżeli jest, to przerywa dalsze sprawdzanie i zwraca "True",
  3. jeżeli badany warunek nie jest spełniony, to język sprawdza czy są kolejne do zbadania:
    1. jeżeli jest, to przechodzi do następnego i wraca do pkt. 2,
    2. jeżeli nie ma więcej warunków do sprawdzenia, to język zwraca wynik alternatywy jako "False".

Odwrotnie do koniunkcji, w alternatywie wystarczy jeden warunek aby był spełniony i wynik całego wyrażenia jest uznany za "prawdziwy" ✅. Czyli zobacz, że mamy takie "odbicie lustrzane" w postępowaniu języka 👀.

NEGACJA (NOT)

Negacja (ang. negation) to trzeci operator logiczny Pythona, który funkcjonuje zupełnie odmiennie od dwóch pozostałych (koniunkcji i alternatywy) ⚠️! Po pierwsze, jego zadaniem jest "odwrócenie" (zanegowanie) wartości wynikowej danego wyrażenia ✔️. Po drugie, przyjmuje tylko jeden argument z powodu opisanego w poprzednim zdaniu i stawia się go przed wyrażeniem (tak jak minus mający odwrócić znak liczby) 🙂.

Pod jego wpływem, każda "prawda" jest "fałszem", a każdy "fałsz" jest "prawdą" - pisząc w skrócie 😊. W języku Python, negację tworzymy za pomocą słowa kluczowego "not" (ang. nie) ℹ️. A to jest przykład 👇:

print(not 6 < 7)

Mamy negację "postawioną" przed warunkiem do sprawdzenia 🙂. Python zbada warunek i "stwierdzi", że jest spełniony (bo 6 jest mniejsze od 7) ✅. Wynikiem wyrażenia będzie "True", natomiast mamy przed tym operator negacji 💥! W związku z tym, zaneguje tę wartość ("odwróci ją") i wynikiem końcowym będzie wartość "False" ✔️!

Operatory logiczne w języku Python

Operatory logiczne w języku Python pozwalają na łączenie wielu warunków zbudowanych przy pomocy operatorów relacyjnych, w jedno wyrażenie. Wartością końcową każdego takiego wyrażenia jest wartość logiczna ("bool").

Możesz się zastanawiać gdzie się znajduje operator XOR, czyli alternatywa wykluczająca 🤔. W Pythonie nie ma takiego operatora 🚫!

No, to wszystkie operatory logiczne pięknie przedstawione 😄! Został nam ostatni rodzaj: operatory przypisania ⏩!

NA CZYM POLEGAJĄ OPERATORY PRZYPISANIA W JĘZYKU PYTHON?

W języku Python, operatory przypisania służą do przypisywania wartości różnych typów danych w miejsce zmiennych 👍. Są to zarezerwowane miejsca w pamięci komputera do przechowywania jakiejś wartości (więcej informacji w załączonym artykule) ℹ️.

Przedstawiam Ci pełną tabelę ze wszystkimi operatorami przypisania jakich możesz użyć w tym języku 👇:

OPERATOR KOMBINACJA ZAPIS ALTERNATYWNY ZNACZENIE
= brak przypisanie wartości
+= a += N a = a + N dodanie wartości do zmiennej
-= a -= N a = a - N odejmowanie wartości od zmiennej
*= a *= N a = a*N mnożenie zmiennej przez wartość
/= a /= N a = a / N dzielenie zmiennej przez wartość (wynik w postaci liczby zmiennoprzecinkowej)
%= a %= N a = a % N wyznaczenie reszty z dzielenia zmiennej przez wartość
//= a //= N a = a // N dzielenie zmiennej przez wartość (wynik w postaci "obciętej" liczby całkowitej)
**= a **= N a = a ** N potęgowanie wartości zmiennej przez wykładnik

Zwróć szczególną uwagę na znak operatora przypisania wartości początkowej (pierwszy od góry) ℹ️! Gdy porównasz go sobie z operatorem porównania, to dostrzeżesz, że pierwszy składa się tylko z jednego znaku równości, a drugi, z dwóch 😱! Jest to jeden z najczęściej popełnianych błędów przez początkujących programistów 💥! Jednak z biegiem czasu nauczysz się bezbłędnie korzystać z obu naraz 😉.

Zobacz, że w każdym z przypadków (z wyjątkiem operatora do przypisania początkowej wartości) masz 2 sposoby zapisu: tradycyjny i skrócony 👍. Tradycyjny polega na występowaniu tej samej zmiennej po obu stronach wyrażenia z osobnym składnikiem po prawej stronie ℹ️. Gdy stworzymy sobie zmienną i przypiszemy jej wartość liczbową 👇:

x = 10

to dodanie do aktualnej wartości liczby 2 w sposób tradycyjny będzie wyglądał tak 👇:

x = x + 2

W pierwszej kolejności Python ustala wynik po prawej stronie wyrażenia 1️⃣. Najpierw jest pobranie aktualnej wartości zmiennej "x" i dodanie do niej liczby 2, a następnie zsumowanie obu składników. Gdy końcowa wartość jest już wiadoma, przypisuje ją do zmiennej "x" jako "nową wartość" - to jest krok drugi 2️⃣.

Zapis jest w pełni poprawny, lecz wymaga cierpliwości przy pisaniu drugi raz tej samej nazwy zmiennej 🙂. Dlatego już teraz proponuję przyswoić sobie zapis skrócony 😄. Trzymając się identycznego przykładu, prezentuje się w ten sposób 👇:

x += 2

Tyle. Operator dodawania "ląduje" przed operator przypisania (nie stawiamy spacji między nimi ⚠️), a po prawej stronie jest tylko to, co i ile chcemy dodać. Od razu prościej 😁!

Operatory przypisania w języku Python

Operatory przypisania w języku Python dotyczą przypisywania zmiennym wartości odpowiedniego typu danych. Z wyjątkiem przypisywania wartości początkowej, każdy operator modyfikujący posiada tradycyjny i skrócony zapis.

Doszliśmy do końca opisywania operatorów przypisania 😅!


Zakończyliśmy wspólnie temat operatorów w języku Python ❤️! Artykuł wyszedł niezaprzeczalnie długi, jednak chodziło mi o wprowadzenie w Ciebie w każdy szczegół tematu, tak aby nic nie zaskoczyło Cię później w mało przyjemny sposób 😉.

PODOBNE ARTYKUŁY