
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
W tej lekcji przygotujemy nasze środowisko do pracy, zainstalujemy Pythona i Visual Studio Code, następnie zobaczysz jak korzystać z Pythona w tym najpopularniejszym IDE
W tej lekcji poznasz różne sposoby na uruchomienie kodu Python
To bardzo ważna lekcja ponieważ poznasz:
- czym są zmienne do przechowywania wartości w Python
- jak prawidłowo nazwać zmienną
- czym są identyfikatory w Python i jakie prawidłowe ich nazwy stosować
Pierwsze praktyczne zastosowanie zmiennych:
- zrobisz program z kilkoma zmiennymi
- przypiszesz do zmiennych podstawowe wartości jak łańcuchy znaków (string) i wartości liczbowe
- pokażesz podstawowe informacje w konsoli
To pierwsze zadanie video w którym dokładnie opowiem co musisz zrobić, następnie pokaże się licznik podczas którego możesz zatrzymać video i samodzielnie rozwiązać to zadanie. Uwaga! rozwiązanie zadania nie jest obowiązkowe :) Gdy licznik się skończy pokażę przykładowe rozwiązanie zadania.
Komentarze pozwalają na lepsze dokumentowanie kodu, poznasz komentarze jedno i wieloliniowe.
W Pythonie możemy przechowywać różne typy danych w zmiennych, oczywiście musimy pamiętać że python to język dynamiczny o czym dokładnie opowiem w filmie.
Kolejne zadanie które ma na celu utrwalenie dotychczas uzyskanej wiedzy odnośnie typów danych w Python
Drugie zadanie z typami danych
Łańcuchy znaków tzw. String to tekst w Pythonie. Poznasz różne możliwości tworzenia stringów oraz manipulacji nimi jak np:
- pobieranie fragmentów łańcuchów znaków
- łączenie łańcuchów dzięki konkatenacji i powtarzanie tekstu
- łańcuchy znaków w wielu liniach
- znaki nowej linii, tabulacje i znaki specjalne
W tej lekcji poznasz podstawy pracy z ciągami znaków (stringami) w praktyce w Pythonie. Oto czego się nauczysz:
Tworzenie i wyświetlanie stringów: Stworzysz i wyświetlisz ciągi znaków, a także sprawdzisz ich długość i typ.
Indeksowanie i slicing: Nauczysz się odwoływać do konkretnych znaków w stringu oraz wycinać fragmenty za pomocą indeksów.
Powielanie stringów: Wykorzystasz operator *, aby powielać ciągi znaków.
Łączenie stringów: Dowiesz się, jak łączyć stringi za pomocą operatora +.
Składnia slicingu z krokiem: Poznasz, jak wycinać fragmenty stringów z określonym krokiem.
Wielolinijkowe stringi: Nauczysz się tworzyć i wyświetlać ciągi znaków obejmujące wiele linii, zarówno za pomocą potrójnych cudzysłowów, jak i znaków specjalnych (np. \n, \t, \", \\).
Zadanie z stringami:
- pobieranie string od użytkownika z input()
- łączenie łańcuchów
W tej lekcji poznasz podstawy pracy z typem logicznym (bool) w praktyce w Pythonie. Oto czego się nauczysz:
Typ logiczny (bool): Dowiesz się, czym są wartości logiczne True i False oraz jak sprawdzić ich typ.
Porównania: Nauczysz się używać operatorów porównania (np. >, <), aby sprawdzać relacje między wartościami i uzyskiwać wyniki logiczne.
Instrukcje warunkowe: Poznasz, jak używać instrukcji if do podejmowania decyzji w oparciu o wyniki porównań.
Zadanie z Boolean w celu utrwalenia wiedzy o wartościach logicznych
Listy to uporządkowana kolekcja wielu elementów oddzielonych przecinkiem. Listę zapisuje się w nawiasach kwadratowych i może posiadać różne typy wartości. Poznasz jak tworzyć i korzystać z list, jak pobierać elementy i fragmenty list za pomocą nawiasów kwadratowych i odpowiednich numerów indeksów
W tej lekcji poznasz podstawy pracy z listami w praktyce w Pythonie. Oto czego się nauczysz:
Tworzenie list: Stworzysz listę zawierającą różne typy danych, np. ciągi znaków i liczby.
Indeksowanie i slicing: Nauczysz się odwoływać do elementów listy za pomocą indeksów (w tym ujemnych) oraz wycinać fragmenty listy.
Modyfikowanie listy: Zmienisz wartość elementu, usuniesz wybrany element oraz sprawdzisz, czy dany element istnieje w liście.
Instrukcje warunkowe: Użyjesz if, aby sprawdzić, czy określony element jest w liście.
Iterowanie po liście: Wykorzystasz pętlę for, aby przejść przez elementy listy i je wyświetlić.
Listy zagnieżdżone: Poznasz, jak działa indeksowanie w listach zagnieżdżonych oraz jak łączyć i powielać listy.
Zadanie z listą
Krotka to uporządkowana sekwencja danych, niezmienna kolekcja tworzona za pomocą nawiasów
okrągłych oraz elementów oddzielonych przecinkiem. Krotkę najlepiej wyobrazić sobie jako jeden rekord w bazie odnośnie użytkownika jego login, email, datę rejestracji itd
W tej lekcji poznasz podstawy pracy z krotkami (tuple) w praktyce w Pythonie. Oto czego się nauczysz:
Tworzenie krotek: Stworzysz krotki zawierające różne typy danych, np. ciągi znaków i liczby.
Niezmienność krotek: Dowiesz się, że krotki są niemodyfikowalne i nie można zmieniać ich elementów.
Łączenie krotek: Nauczysz się, jak łączyć krotki za pomocą operatora +.
Indeksowanie i slicing: Poznasz, jak odwoływać się do elementów krotek za pomocą indeksów oraz wycinać ich fragmenty.
Krotki zagnieżdżone: Zobaczysz, jak działają krotki zagnieżdżone i jak odwoływać się do ich elementów.
Instrukcje warunkowe: Użyjesz if, aby sprawdzić, czy dany element istnieje w krotce.
Usuwanie krotek: Nauczysz się, jak usuwać całe krotki za pomocą del.
Powielanie krotek: Poznasz, jak powielać zawartość krotek za pomocą operatora *.
Pierwsze zadanie z krotkami w celu utrwalenia wiedzy
Drugie zadanie z krotkami w celu utrwalenia wiedzy
W tej lekcji poznasz podstawy pracy ze słownikami (dict) w praktyce w Pythonie. Oto czego się nauczysz:
Tworzenie słownika: Stworzysz słownik zawierający pary klucz-wartość, gdzie klucze to np. imiona, a wartości to e-maile lub liczby.
Dodawanie elementów: Dowiesz się, jak dodawać nowe pary klucz-wartość do słownika.
Dostęp do wartości: Nauczysz się, jak odwoływać się do wartości za pomocą kluczy.
Typ i długość słownika: Sprawdzisz typ słownika oraz jego długość za pomocą funkcji type() i len().
Klucze i wartości: Poznasz metody keys() i values(), które zwracają odpowiednio klucze i wartości słownika.
Iterowanie po słowniku: Wykorzystasz pętlę for, aby przejść przez klucze i wartości słownika na dwa sposoby:
Tylko klucze z dostępem do wartości.
Jednocześnie klucze i wartości za pomocą metody items().
Zadanie z słownikiem
W tej lekcji poznasz podstawy pracy ze zbiorami (set) oraz niemodyfikowalnymi zbiorami (frozenset) w praktyce w Pythonie. Oto czego się nauczysz:
Tworzenie zbiorów: Stworzysz zbiór zawierający unikalne wartości i dowiesz się, jak dodawać do niego nowe elementy za pomocą metody add().
Usuwanie elementów: Nauczysz się usuwać elementy ze zbioru za pomocą metody discard().
Typ danych: Sprawdzisz typ zbioru za pomocą funkcji type().
Iterowanie po zbiorze: Wykorzystasz pętlę for, aby przejść przez wszystkie elementy zbioru i je wyświetlić.
Zbiory niemodyfikowalne (frozenset): Poznasz, czym jest frozenset i jak różni się od zwykłego zbioru (niemożność modyfikacji).
Iterowanie po frozenset: Przejdziesz przez elementy niemodyfikowalnego zbioru za pomocą pętli for.
Zadanie z zbiorami
Konwersje typów z wykorzystaniem int() float() str()
W tej lekcji poznasz podstawy konwersji typów danych w praktyce w Pythonie. Oto czego się nauczysz:
Konwersja na typ całkowity (int):
Dowiesz się, jak zamieniać liczby zmiennoprzecinkowe (float) na liczby całkowite (int), usuwając część ułamkową.
Nauczysz się konwertować ciągi znaków (stringi) na liczby całkowite, ignorując białe znaki.
Konwersja na typ zmiennoprzecinkowy (float):
Poznasz, jak zamieniać liczby całkowite (int) na liczby zmiennoprzecinkowe (float).
Nauczysz się konwertować ciągi znaków na liczby zmiennoprzecinkowe.
Konwersja na typ tekstowy (str):
Dowiesz się, jak zamieniać różne typy danych (liczby, listy) na ciągi znaków, aby móc je łączyć z innymi stringami.
Wyświetlanie danych:
Poznasz różnice między łączeniem stringów za pomocą operatora + a przekazywaniem wielu argumentów do funkcji print().
Zadanie z konwersją typów w Python
W tej lekcji poznasz, jak konwertować różne typy danych w praktyce w Pythonie. Oto czego się nauczysz:
Konwersja listy na krotkę: Nauczysz się zamieniać listę na krotkę za pomocą funkcji tuple().
Konwersja krotki na listę: Dowiesz się, jak przekształcić krotkę w listę za pomocą funkcji list().
Konwersja na zbiór (set): Poznasz, jak zamieniać listę lub krotkę na zbiór, który przechowuje unikalne wartości.
Konwersja na niemodyfikowalny zbiór (frozenset): Nauczysz się tworzyć niemodyfikowalne zbiory za pomocą funkcji frozenset().
Konwersja na słownik (dict): Dowiesz się, jak przekształcić krotkę par klucz-wartość w słownik za pomocą funkcji dict().
Zadanie do wykonania z konwersjami między listą, słownikiem itd oraz przykład praktycznego rozwiązania
W tej lekcji poznasz, jak działa konwersja na typ logiczny (bool) w Pythonie oraz jakie wartości są uznawane za falsy (fałszywe) i truthy (prawdziwe). Oto czego się nauczysz:
Wartości falsy: Dowiesz się, które wartości są domyślnie uznawane za fałszywe, np. False, 0, 0.0, puste krotki (), puste listy [], puste słowniki {}, pusty string '' oraz None.
Wartości truthy: Poznasz wartości, które są uznawane za prawdziwe, np. True, liczby różne od zera, niepuste krotki, listy, zbiory, słowniki oraz niepuste stringi.
Funkcja bool(): Nauczysz się, jak używać funkcji bool(), aby sprawdzić, czy dana wartość jest uznawana za prawdziwą czy fałszywą.
W tej lekcji poznasz, czym jest wartość None w Pythonie i jak ją wykorzystywać
W tej lekcji poznasz koncepcję mutowalności i niemutowalności w Pythonie. Oto czego się nauczysz:
Typy niemutowalne: Dowiesz się, że niektóre typy danych, takie jak int, float, bool, str, tuple i frozenset, są niemutowalne, co oznacza, że ich wartości nie mogą być zmieniane po utworzeniu. Każda modyfikacja tworzy nowy obiekt w pamięci.
Przykład: Zmiana wartości zmiennej typu int powoduje utworzenie nowego obiektu, co można zaobserwować za pomocą funkcji id().
Typy mutowalne: Poznasz, że typy takie jak list, set i dict są mutowalne, co oznacza, że ich wartości mogą być zmieniane bez tworzenia nowego obiektu.
Przykład: Dodanie elementów do listy nie zmienia jej identyfikatora w pamięci, co pokazuje, że obiekt pozostaje ten sam.
Funkcja id(): Nauczysz się, jak używać funkcji id(), aby sprawdzić identyfikator obiektu w pamięci i zrozumieć, czy operacja tworzy nowy obiekt, czy modyfikuje istniejący.
Lekcja jest idealna dla początkujących, którzy chcą zrozumieć różnicę między typami mutowalnymi i niemutowalnymi oraz jak wpływają one na zarządzanie pamięcią w Pythonie
Zadanie z mutowalnością i niemutowalnością w Python
W tej lekcji poznasz podstawowe operacje matematyczne w Pythonie. Oto czego się nauczysz:
Dodawanie (+): Nauczysz się dodawać dwie liczby.
Odejmowanie (-): Poznasz, jak odejmować jedną liczbę od drugiej.
Mnożenie (*): Dowiesz się, jak mnożyć liczby.
Dzielenie (/): Nauczysz się dzielić liczby, otrzymując wynik zmiennoprzecinkowy.
Reszta z dzielenia (%): Poznasz, jak obliczać resztę z dzielenia dwóch liczb.
Potęgowanie (**): Dowiesz się, jak podnosić liczbę do potęgi.
Dzielenie całkowite (//): Nauczysz się dzielić liczby, otrzymując wynik całkowity (bez części ułamkowej).
Lekcja jest idealna dla początkujących, którzy chcą zrozumieć, jak wykonywać podstawowe operacje matematyczne w Pythonie i jak działają poszczególne operatory.
Zadanie z operatorami matematycznymi
W tej lekcji poznasz operatory przypisania w Pythonie, które pozwalają na skrócone wykonywanie operacji matematycznych i przypisywanie wyniku do zmiennej. Oto czego się nauczysz:
Podstawowe operatory przypisania:
+= (dodawanie i przypisanie)
-= (odejmowanie i przypisanie)
*= (mnożenie i przypisanie)
/= (dzielenie i przypisanie)
%= (reszta z dzielenia i przypisanie)
**= (potęgowanie i przypisanie)
//= (dzielenie całkowite i przypisanie)
Jak działają operatory przypisania
Zadanie z operatorami przypisania
W tej lekcji poznasz operatory porównania w Pythonie, które służą do porównywania wartości. Oto czego się nauczysz:
Podstawowe operatory porównania:
== (równe)
!= (różne)
> (większe niż)
< (mniejsze niż)
>= (większe lub równe)
<= (mniejsze lub równe)
Jak działają operatory porównania:
Każdy operator zwraca wartość logiczną True lub False w zależności od wyniku porównania.
Zastosowanie w instrukcjach warunkowych:
Nauczysz się, jak używać operatorów porównania w instrukcjach if, aby podejmować decyzje w oparciu o wyniki porównań.
Zadanie z operatorami porównania
W tej lekcji poznasz teorie odnośnie operatorów logicznych w Pythonie, które służą do łączenia i negowania wyrażeń logicznych. Oto czego się nauczysz:
Operator and (i):
Zwraca True, tylko gdy oba wyrażenia są prawdziwe.
Operator or (lub):
Zwraca True, gdy przynajmniej jedno z wyrażeń jest prawdziwe.
Operator not (negacja):
Odwraca wartość logiczną wyrażenia (zamienia True na False i odwrotnie).
Zastosowanie w instrukcjach warunkowych:
Nauczysz się, jak używać operatorów logicznych w instrukcjach if, aby tworzyć bardziej złożone warunki.
W tej lekcji poznasz w praktyce operatory logiczne w Pythonie: and, or i not. Oto, co się dowiesz:
Operator and (i):
Zwraca True, tylko gdy oba warunki są prawdziwe.
Operator or (lub):
Zwraca True, gdy przynajmniej jeden warunek jest prawdziwy.
Operator not (negacja):
Odwraca wartość logiczną: True na False i odwrotnie.
Zastosowanie w warunkach:
Nauczysz się, jak używać tych operatorów w instrukcjach if, aby sprawdzać wiele warunków jednocześnie.
Lekcja jest idealna dla początkujących, którzy chcą zrozumieć, jak działa logika w Pythonie.
Zadanie z kolejką górską i operatorami logicznymi
Kolejne zadanie z operatorów logicznych
W tej lekcji poznasz operatory przynależności w Pythonie: in i not in. Oto, czego się nauczysz:
Operator in:
Sprawdza, czy dany element znajduje się w kolekcji (np. liście, krotce, zbiorze).
Zwraca True, jeśli element jest obecny, w przeciwnym razie False.
Operator not in:
Sprawdza, czy dany element nie znajduje się w kolekcji.
Zwraca True, jeśli element nie jest obecny, w przeciwnym razie False.
Przykłady zastosowania:
Sprawdzanie, czy liczba znajduje się w liście.
Sprawdzanie, czy ciąg znaków jest w krotce.
Zadanie z operatorów przynależności
W tej lekcji poznasz operatory tożsamości w Pythonie: is i is not. Oto, czego się dokładnie nauczysz:
Operator is:
Służy do sprawdzania, czy dwie zmienne wskazują na ten sam obiekt w pamięci.
Zwraca True, jeśli obie zmienne odnoszą się do tego samego obiektu, w przeciwnym razie False.
Przykład: Jeśli a i b wskazują na tę samą listę, a is b zwróci True.
Operator is not:
Służy do sprawdzania, czy dwie zmienne nie wskazują na ten sam obiekt w pamięci.
Zwraca True, jeśli obie zmienne odnoszą się do różnych obiektów, w przeciwnym razie False.
Przykład: Jeśli a i c wskazują na różne listy, a is not c zwróci True.
Funkcja dir():
Poznasz, jak używać funkcji dir(), aby zobaczyć wszystkie dostępne metody i atrybuty danego obiektu.
Przykład: dir(strData) pokaże metody dostępne dla ciągów znaków, a dir(intData) dla liczb całkowitych.
Porównywanie różnych obiektów:
Nauczysz się, jak sprawdzać, czy dwie zmienne wskazują na różne obiekty, nawet jeśli ich zawartość jest taka sama.
Przykład: a i c mają te same elementy, ale a is c zwróci False, ponieważ są to różne obiekty w pamięci.
Zadanie z operatorów tożsamości
W tej lekcji poznasz operator konkatenacji w Pythonie, który służy do łączenia ze sobą ciągów znaków lub list. Oto, czego się nauczysz:
Konkatenacja ciągów znaków:
Operator + pozwala na łączenie ze sobą ciągów znaków (stringów).
Konkatenacja list:
Operator + może być również używany do łączenia list.
Dodawanie elementów do istniejących ciągów lub list:
Możesz użyć operatora +, aby dodać nowe elementy do istniejących ciągów znaków lub list.
Lekcja jest idealna dla początkujących, którzy chcą zrozumieć, jak łączyć ze sobą ciągi znaków i listy w Pythonie.
Zadanie z operatorem konkatenacji
W tej lekcji poznasz instrukcje warunkowe w Pythonie, które pozwalają na podejmowanie decyzji w zależności od spełnienia określonych warunków. Oto, czego się nauczysz:
Instrukcja if:
Poznasz, jak sprawdzać warunki za pomocą if i wykonywać kod, jeśli warunek jest spełniony.
Instrukcja elif:
Dowiesz się, jak używać elif do sprawdzania kolejnych warunków, jeśli poprzednie nie zostały spełnione.
Instrukcja else:
Nauczysz się, jak używać else do wykonania kodu, gdy żaden z wcześniejszych warunków nie jest spełniony.
Zagnieżdżone instrukcje warunkowe:
Poznasz, jak umieszczać instrukcje warunkowe wewnątrz innych instrukcji warunkowych, aby tworzyć bardziej złożone warunki.
Skrócona forma if:
Dowiesz się, jak zapisywać proste warunki w jednej linii za pomocą skróconej formy if.
Lekcja jest idealna dla początkujących, którzy chcą zrozumieć, jak działa podejmowanie decyzji w Pythonie za pomocą instrukcji warunkowych.
W tej lekcji poznasz instrukcje warunkowe w praktyce w Pythonie, które pozwalają na kontrolowanie przepływu programu w zależności od spełnienia określonych warunków. Oto, czego się nauczysz:
Podstawowa instrukcja if:
Nauczysz się, jak sprawdzać warunki za pomocą if i wykonywać kod, jeśli warunek jest prawdziwy.
Instrukcja elif:
Dowiesz się, jak dodawać kolejne warunki do sprawdzenia, jeśli poprzednie nie zostały spełnione.
Instrukcja else:
Poznasz, jak wykonać kod domyślny, gdy żaden z wcześniejszych warunków nie jest spełniony.
Zagnieżdżanie warunków:
Nauczysz się, jak umieszczać instrukcje warunkowe wewnątrz innych instrukcji, aby tworzyć bardziej złożone logiki.
Skrócona forma if:
Dowiesz się, jak zapisywać proste warunki w jednej linii, bez użycia bloków kodu.
Zadanie z instrukcjami warunkowymi
Kolejne zadanie z instrukcjami warunkowymi
W tej lekcji poznasz pętlę while w Pythonie, która pozwala na wielokrotne wykonywanie kodu, dopóki określony warunek jest spełniony. Oto, czego się nauczysz:
Podstawowa pętla while:
Nauczysz się, jak używać pętli while do wykonywania kodu, dopóki warunek jest prawdziwy.
Zmiana wartości w pętli:
Dowiesz się, jak modyfikować wartość zmiennej w pętli, aby kontrolować jej działanie (np. zmniejszanie lub zwiększanie wartości).
Nieskończona pętla i przerwanie (break):
Poznasz, jak tworzyć nieskończoną pętlę (while True) i jak ją przerwać za pomocą instrukcji break.
Pętla while z else:
Nauczysz się, jak używać bloku else z pętlą while, który wykonuje się po zakończeniu pętli, o ile nie została ona przerwana przez break.
Interakcja z użytkownikiem:
Zobaczysz, jak używać pętli while do interakcji z użytkownikiem, np. wczytywania danych aż do momentu, gdy użytkownik zdecyduje się zakończyć.
Lekcja jest idealna dla początkujących, którzy chcą zrozumieć, jak działa pętla while i jak ją wykorzystywać do tworzenia powtarzalnych operacji w Pythonie.
W tej lekcji poznasz pętlę for w Pythonie, która służy do iterowania po elementach kolekcji, takich jak listy, krotki, zbiory, ciągi znaków i słowniki. Oto, czego się nauczysz:
Iterowanie po listach, krotkach i zbiorach:
Nauczysz się, jak przechodzić przez elementy list, krotek i zbiorów, wykonując operacje na każdym elemencie.
Iterowanie po ciągach znaków:
Dowiesz się, jak pętla for może przechodzić przez każdy znak w ciągu tekstowym.
Blok else w pętli for:
Poznasz, jak używać bloku else, który wykonuje się po zakończeniu pętli, o ile nie została przerwana przez break.
Iterowanie po słownikach:
Nauczysz się, jak przechodzić przez klucze, wartości oraz pary klucz-wartość w słownikach.
Poznasz metody .keys(), .values() i .items(), które ułatwiają pracę ze słownikami.
Wykonywanie operacji na elementach:
Zobaczysz, jak w pętli for można wykonywać różne operacje na elementach, np. mnożenie liczb lub wyświetlanie danych.
Lekcja jest idealna dla początkujących, którzy chcą zrozumieć, jak działa pętla for i jak ją wykorzystywać do pracy z różnymi typami kolekcji w Pythonie.
W tej lekcji poznasz funkcję range() w Pythonie, która jest często używana w połączeniu z pętlą for do generowania sekwencji liczb. Oto, czego się nauczysz:
Podstawowe użycie range():
Nauczysz się, jak generować sekwencję liczb od 0 do określonej wartości (bez jej włączenia).
Określanie zakresu:
Dowiesz się, jak podać początek i koniec zakresu, aby generować liczby z określonego przedziału.
Określanie kroku:
Poznasz, jak używać trzeciego argumentu range(), aby kontrolować krok między kolejnymi liczbami w sekwencji.
Iterowanie po sekwencji liczb:
Zobaczysz, jak używać pętli for z range(), aby przechodzić przez wygenerowane liczby i wykonywać na nich operacje.
W tej lekcji poznasz zagnieżdżone pętle w Pythonie, które pozwalają na iterowanie przez elementy znajdujące się wewnątrz innych kolekcji, takich jak listy zagnieżdżone. Oto, czego się nauczysz:
Iterowanie przez zagnieżdżone listy:
Nauczysz się, jak używać pętli for do przechodzenia przez elementy listy, która zawiera inne listy.
Zagnieżdżone pętle for:
Dowiesz się, jak zagnieżdżać jedną pętlę for w drugiej, aby uzyskać dostęp do poszczególnych elementów wewnętrznych list.
Przetwarzanie danych w zagnieżdżonych strukturach:
Zobaczysz, jak można przetwarzać i wyświetlać elementy znajdujące się w zagnieżdżonych listach.
Lekcja jest idealna dla początkujących, którzy chcą zrozumieć, jak działa iterowanie przez zagnieżdżone struktury danych, takie jak listy zawierające inne listy.
W tej lekcji poznasz instrukcje sterujące przepływem pętli w Pythonie: break, continue i pass. Oto, czego się nauczysz:
Instrukcja break:
Nauczysz się, jak przerwać działanie pętli (np. for lub while) przed jej naturalnym zakończeniem, gdy zostanie spełniony określony warunek.
Instrukcja continue:
Dowiesz się, jak pominąć aktualną iterację pętli i przejść do następnej, bez przerywania całej pętli.
Instrukcja pass:
Poznasz, jak używać pass jako "placeholder" (zastępczy kod), który nic nie robi, ale pozwala uniknąć błędów składniowych w miejscach, gdzie wymagany jest kod.
Lekcja jest idealna dla początkujących, którzy chcą zrozumieć, jak kontrolować przepływ pętli i jak używać pass w sytuacjach, gdy kod nie jest jeszcze gotowy.
W tej lekcji poznasz podstawy tworzenia funkcji w Pythonie. Oto, czego się nauczysz:
Definiowanie funkcji:
Nauczysz się, jak tworzyć funkcje za pomocą słowa kluczowego def, aby wykonywać określone operacje.
Parametry funkcji:
Dowiesz się, jak przekazywać argumenty do funkcji, aby mogła ona działać na różnych danych.
Zwracanie wartości:
Poznasz, jak używać instrukcji return, aby funkcja zwracała wynik swoich obliczeń.
Wywoływanie funkcji:
Nauczysz się, jak wywoływać funkcje, przekazując im argumenty i korzystając z ich wyników.
Zagnieżdżanie wywołań funkcji:
Zobaczysz, jak wyniki jednej funkcji mogą być używane jako argumenty dla innej funkcji.
W tej lekcji poznasz różne sposoby zwracania wartości z funkcji za pomocą instrukcji return. Oto, czego się nauczysz:
Zwracanie wyników obliczeń:
Nauczysz się, jak zwracać wynik działania funkcji, np. sumę liczb.
Zwracanie specjalnych wartości:
Dowiesz się, jak zwracać None, aby sygnalizować brak wyniku lub błąd (np. gdy funkcja otrzyma puste dane).
Warunkowe zwracanie wartości:
Poznasz, jak używać instrukcji warunkowych, aby decydować, czy i co zwrócić z funkcji.
Funkcje bez zwracania wartości:
Zobaczysz, jak funkcja może nie zwracać żadnej wartości (np. gdy wykonuje tylko operacje, takie jak wyświetlanie danych).
W tej lekcji poznasz różnice w przekazywaniu mutowalnych i niemutowalnych danych do funkcji w Pythonie. Oto, czego się nauczysz:
Typy niemutowalne (np. int, float, str):
Dowiesz się, że przekazanie niemutowalnego typu do funkcji tworzy kopię danych, a zmiany wewnątrz funkcji nie wpływają na oryginalną wartość.
Typy mutowalne (np. list, set, dict):
Poznasz, że przekazanie mutowalnego typu do funkcji pozwala na modyfikację oryginalnych danych, ponieważ funkcja działa na referencji do obiektu.
Identyfikator obiektu (id):
Nauczysz się, jak używać funkcji id(), aby sprawdzić, czy obiekt został skopiowany, czy działa na oryginalnych danych.
Tworzenie nowych obiektów w funkcji:
Zobaczysz, jak przypisanie nowej wartości do parametru wewnątrz funkcji tworzy nowy obiekt, który nie wpływa na oryginalne dane.
W tej lekcji poznasz domyślne argumenty funkcji w Pythonie, które pozwalają na definiowanie wartości domyślnych dla parametrów. Oto, czego się nauczysz:
Definiowanie domyślnych wartości:
Nauczysz się, jak przypisywać wartości domyślne do parametrów funkcji, aby były używane, gdy użytkownik nie poda własnych argumentów.
Wywoływanie funkcji z różną liczbą argumentów:
Dowiesz się, jak wywoływać funkcje, pomijając niektóre argumenty, aby korzystać z ich wartości domyślnych.
Kolejność argumentów:
Poznasz, jak ważna jest kolejność argumentów w funkcji i jak łączyć argumenty obowiązkowe z opcjonalnymi.
Lekcja jest idealna dla początkujących, którzy chcą zrozumieć, jak używać domyślnych argumentów, aby tworzyć bardziej elastyczne i wygodne funkcje.
W tej lekcji poznasz zasady kolejności argumentów w funkcjach Pythona, w tym użycie specjalnych symboli / i *, które kontrolują sposób przekazywania argumentów. Oto, czego się nauczysz:
Argumenty przed /:
Nauczysz się, że argumenty przed / muszą być przekazane pozycyjnie (nie można ich podać jako nazwane).
Argumenty po *:
Dowiesz się, że argumenty po * muszą być przekazane jako nazwane (nie można ich podać pozycyjnie).
Argumenty między / a *:
Poznasz, że argumenty między / a * mogą być przekazane zarówno pozycyjnie, jak i nazwanie.
Błędy w przekazywaniu argumentów:
Zobaczysz, co się stanie, jeśli naruszysz zasady kolejności argumentów, np. podając argumenty pozycyjne po nazwanych.
Lekcja jest idealna dla początkujących, którzy chcą zrozumieć, jak precyzyjnie kontrolować sposób przekazywania argumentów do funkcji w Pythonie.
W tym materiale poznasz zasady zakresu zmiennych (scope) w Pythonie, które określają, gdzie zmienna jest widoczna i dostępna. Oto, czego się nauczysz:
Zakres globalny:
Nauczysz się, że zmienne zdefiniowane poza funkcjami są globalne i dostępne w całym programie.
Zakres lokalny:
Dowiesz się, że zmienne zdefiniowane wewnątrz funkcji są lokalne i dostępne tylko w tej funkcji.
Modyfikowanie zmiennych globalnych:
Poznasz, jak używać słowa kluczowego global, aby modyfikować zmienne globalne wewnątrz funkcji.
Zagnieżdżone funkcje i zakres:
Zobaczysz, jak zmienne z zewnętrznej funkcji są dostępne w funkcjach zagnieżdżonych.
Zakres w instrukcjach warunkowych:
Dowiesz się, że zmienne zdefiniowane w blokach if lub for stają się globalne, jeśli blok jest wykonany.
Lekcja jest idealna dla początkujących, którzy chcą zrozumieć, jak Python zarządza zakresem zmiennych i jak unikać błędów związanych z dostępem do zmiennych.
W tej lekcji przećwiczysz zasady zakresu zmiennych (scope) w Pythonie, które określają, gdzie zmienna jest widoczna i dostępna. Oto, czego się nauczysz:
Zmienne globalne:
Nauczysz się, że zmienne zdefiniowane poza funkcjami są dostępne w całym programie.
Zmienne lokalne:
Dowiesz się, że zmienne zdefiniowane wewnątrz funkcji są dostępne tylko w tej funkcji i nie wpływają na zmienne globalne.
Modyfikowanie zmiennych globalnych:
Poznasz, jak używać słowa kluczowego global, aby zmieniać wartość zmiennej globalnej wewnątrz funkcji.
Zagnieżdżone funkcje:
Zobaczysz, jak zmienne z zewnętrznej funkcji są dostępne w funkcjach zagnieżdżonych.
Zakres w blokach kodu:
Dowiesz się, że zmienne zdefiniowane w blokach if lub for stają się globalne, jeśli blok jest wykonany.
W tej lekcji poznasz funkcje lambda w Pythonie, które pozwalają na tworzenie krótkich, anonimowych funkcji. Oto, czego się nauczysz:
Podstawy funkcji lambda:
Nauczysz się, jak tworzyć proste funkcje lambda do wykonywania operacji na argumentach.
Funkcje lambda zwracane przez inne funkcje:
Dowiesz się, jak funkcje mogą zwracać funkcje lambda, co pozwala na tworzenie dynamicznych funkcji.
Użycie map z lambda:
Poznasz, jak używać funkcji map z lambda, aby zastosować operację do każdego elementu listy.
Użycie reduce z lambda:
Nauczysz się, jak używać funkcji reduce z lambda, aby łączyć elementy sekwencji w jeden wynik.
Użycie filter z lambda:
Dowiesz się, jak używać funkcji filter z lambda, aby wybrać elementy spełniające określony warunek.
Lekcja jest idealna dla początkujących, którzy chcą zrozumieć, jak używać funkcji lambda do tworzenia zwięzłych i efektywnych operacji na danych.
W tej lekcji poznasz podstawowe funkcje matematyczne i losowe w Pythonie, które pozwalają na wykonywanie różnych operacji matematycznych oraz generowanie liczb losowych. Oto, czego się nauczysz:
Konwersja typów:
Nauczysz się, jak konwertować liczby na ciągi znaków (str) i odwrotnie (int, float).
Funkcje matematyczne:
abs(): Zwraca wartość bezwzględną liczby.
math.ceil(): Zaokrągla liczbę w górę do najbliższej całkowitej.
math.floor(): Zaokrągla liczbę w dół do najbliższej całkowitej.
max(): Zwraca największą wartość z podanych liczb lub sekwencji.
min(): Zwraca najmniejszą wartość z podanych liczb lub sekwencji.
pow(): Podnosi liczbę do potęgi (równoważne operatorowi **).
math.sqrt(): Oblicza pierwiastek kwadratowy z liczby.
round(): Zaokrągla liczbę do określonej liczby miejsc po przecinku.
Funkcje losowe:
random.random(): Generuje losową liczbę zmiennoprzecinkową z zakresu [0, 1).
random.choice(): Zwraca losowy element z podanej sekwencji (listy, krotki itp.).
random.randrange(): Generuje losową liczbę całkowitą z określonego zakresu i kroku.
random.shuffle(): Miesza elementy listy w losowej kolejności.
Przykłady zastosowania:
Konwersja między typami danych.
Obliczenia matematyczne, takie jak zaokrąglanie, potęgowanie czy pierwiastkowanie.
Generowanie liczb losowych i losowe wybieranie elementów z listy.
Lekcja jest idealna dla początkujących, którzy chcą poznać podstawowe funkcje matematyczne i losowe w Pythonie oraz nauczyć się ich praktycznego zastosowania.
W tej lekcji poznasz przydatne funkcje operujące na ciągach znaków (stringach) w Pythonie. Oto, czego się nauczysz:
Łączenie i powielanie stringów:
Operator + służy do łączenia ciągów znaków.
Operator * pozwala na powielanie ciągów.
Indeksowanie i wycinanie (slicing):
Możesz odwoływać się do konkretnych znaków w ciągu za pomocą indeksów.
Wycinanie fragmentów ciągu jest możliwe dzięki składni [start:end].
Sprawdzanie obecności podciągów:
Operator in sprawdza, czy podciąg znajduje się w ciągu.
Operator not in sprawdza, czy podciąg nie znajduje się w ciągu.
Wielolinijkowe ciągi znaków:
Możesz tworzyć ciągi znaków obejmujące wiele linii za pomocą potrójnych cudzysłowów (""" lub ''').
Metody stringów:
capitalize(): Zamienia pierwszą literę ciągu na wielką.
count(): Zlicza wystąpienia podciągu w ciągu.
center(): Wyśrodkowuje ciąg, wypełniając go określonym znakiem.
startswith(): Sprawdza, czy ciąg zaczyna się od podanego podciągu.
endswith(): Sprawdza, czy ciąg kończy się podanym podciągu.
find(): Zwraca indeks pierwszego wystąpienia podciągu (lub -1, jeśli nie znaleziono).
rfind(): Zwraca indeks ostatniego wystąpienia podciągu.
isalnum(): Sprawdza, czy ciąg składa się tylko z liter i cyfr.
isalpha(): Sprawdza, czy ciąg składa się tylko z liter.
islower(): Sprawdza, czy wszystkie litery w ciągu są małe.
isupper(): Sprawdza, czy wszystkie litery w ciągu są wielkie.
isspace(): Sprawdza, czy ciąg składa się tylko z białych znaków.
join(): Łączy elementy listy w jeden ciąg, używając określonego separatora.
lower(): Zamienia wszystkie litery na małe.
upper(): Zamienia wszystkie litery na wielkie.
swapcase(): Zamienia wielkość liter (małe na wielkie i odwrotnie).
lstrip(), rstrip(), strip(): Usuwa białe znaki odpowiednio z lewej, prawej lub obu stron ciągu.
replace(): Zamienia wszystkie wystąpienia podciągu na inny podciąg.
format(): Formatuje ciąg, wstawiając wartości w określone miejsca.
Lekcja jest idealna dla początkujących, którzy chcą poznać podstawowe operacje na ciągach znaków w Pythonie i nauczyć się ich praktycznego zastosowania.
W tej lekcji poznasz przydatne funkcje i metody operujące na listach w Pythonie. Oto, czego się nauczysz:
Indeksowanie i wycinanie (slicing):
Możesz odwoływać się do konkretnych elementów listy za pomocą indeksów.
Wycinanie fragmentów listy jest możliwe dzięki składni [start:end].
Modyfikowanie listy:
Możesz zmieniać wartości elementów listy, przypisując nowe wartości do określonych indeksów.
Usuwanie elementów za pomocą del.
Podstawowe funkcje:
len(): Zwraca liczbę elementów w liście.
max(): Zwraca największy element w liście.
min(): Zwraca najmniejszy element w liście.
list(): Konwertuje inne sekwencje (np. krotki) na listy.
Operacje na listach:
+: Łączy dwie listy w jedną.
*: Powiela elementy listy.
in: Sprawdza, czy element znajduje się w liście.
not in: Sprawdza, czy element nie znajduje się w liście.
Metody list:
append(): Dodaje element na końcu listy.
count(): Zlicza wystąpienia danego elementu w liście.
extend(): Rozszerza listę o elementy z innej sekwencji.
insert(): Wstawia element na określonej pozycji w liście.
index(): Zwraca indeks pierwszego wystąpienia danego elementu.
reverse(): Odwraca kolejność elementów w liście.
sort(): Sortuje elementy listy (domyślnie rosnąco).
pop(): Usuwa i zwraca ostatni element listy (lub element z określonej pozycji).
Lekcja jest idealna dla początkujących, którzy chcą poznać podstawowe operacje na listach w Pythonie i nauczyć się ich praktycznego zastosowania.
W tej lekcji poznasz przydatne funkcje i operacje na krotkach (tuple) w Pythonie. Oto, czego się nauczysz:
Tworzenie krotek:
Krotki można tworzyć, łącząc je za pomocą operatora +.
Można również konwertować inne sekwencje (np. listy) na krotki za pomocą funkcji tuple().
Powielanie krotek:
Operator * pozwala na powielanie elementów krotki.
Sprawdzanie obecności elementów:
Operator in sprawdza, czy element znajduje się w krotce.
Indeksowanie:
Możesz odwoływać się do konkretnych elementów krotki za pomocą indeksów.
Podstawowe funkcje:
len(): Zwraca liczbę elementów w krotce.
min(): Zwraca najmniejszy element w krotce.
max(): Zwraca największy element w krotce.
W tej lekcji poznasz przydatne funkcje i metody operujące na słownikach (dict) w Pythonie. Oto, czego się nauczysz:
Dostęp do wartości:
Możesz odwoływać się do wartości w słowniku za pomocą kluczy.
Dodawanie i usuwanie elementów:
Możesz dodawać nowe pary klucz-wartość do słownika.
Usuwanie elementów za pomocą del.
Czyszczenie słownika:
Metoda clear() usuwa wszystkie elementy ze słownika.
Kopiowanie słownika:
Metoda copy() tworzy płytką kopię słownika.
Tworzenie słownika z domyślnymi wartościami:
Funkcja dict.fromkeys() tworzy nowy słownik z określonymi kluczami i opcjonalną domyślną wartością.
Bezpieczne pobieranie wartości:
Metoda get() zwraca wartość dla podanego klucza lub domyślną wartość, jeśli klucz nie istnieje.
Sprawdzanie obecności klucza:
Operator in sprawdza, czy klucz znajduje się w słowniku.
Pobieranie kluczy i wartości:
Metoda keys() zwraca listę kluczy słownika.
Metoda values() zwraca listę wartości słownika.
W tej lekcji poznasz przydatne funkcje do pracy z datami i czasem w Pythonie, korzystając z modułów time i datetime. Oto, czego się nauczysz:
Moduł time:
time.time(): Zwraca liczbę sekund od epoki Unix (1 stycznia 1970).
time.localtime(): Konwertuje czas w sekundach na strukturę czasu (rok, miesiąc, dzień itp.).
time.asctime(): Zwraca czas w formie czytelnego ciągu znaków.
time.strftime(): Formatuje czas według określonego wzorca (np. "%d/%m/%Y %H:%M:%S").
time.strptime(): Parsuje ciąg znaków na strukturę czasu według określonego wzorca.
time.sleep(): Wstrzymuje wykonanie programu na określoną liczbę sekund.
time.perf_counter(): Mierzy czas wykonania kodu z wysoką precyzją.
Moduł datetime:
datetime.datetime.now(): Zwraca bieżącą datę i czas.
datetime.datetime(): Tworzy obiekt daty i czasu na podstawie podanych wartości (rok, miesiąc, dzień itp.).
datetime.date(): Zwraca tylko część daty z obiektu datetime.
datetime.time(): Zwraca tylko część czasu z obiektu datetime.
datetime.timestamp(): Konwertuje obiekt datetime na liczbę sekund od epoki Unix.
datetime.today(): Zwraca bieżącą datę i czas jako obiekt datetime.
Atrybuty obiektu datetime: Dostęp do poszczególnych pól, takich jak year, month, day, hour, minute, second.
strftime(): Formatuje obiekt datetime na ciąg znaków według określonego wzorca.
Porównywanie dat: Możesz porównywać obiekty datetime za pomocą operatorów >, <, == itp.
W tej lekcji poznasz f-stringi w Pythonie, które są nowoczesnym i wygodnym sposobem formatowania ciągów znaków. Oto, czego się nauczysz:
Podstawy f-stringów:
F-stringi pozwalają na wstawianie wartości zmiennych bezpośrednio do ciągów znaków.
Aby użyć f-stringa, poprzedź ciąg znaków literą f lub F.
Wstawianie zmiennych:
Wartości zmiennych można wstawiać do ciągu, umieszczając je w nawiasach klamrowych {}.
Formatowanie liczb:
Możesz formatować liczby, np. ograniczać liczbę miejsc po przecinku, używając składni {zmienna:.2f}.
Wstawianie list i słowników:
F-stringi pozwalają na wstawianie całych list lub słowników, a także na dostęp do ich elementów.
Wykonywanie wyrażeń:
Wewnątrz f-stringów można wykonywać proste operacje matematyczne lub logiczne.
Warunkowe wstawianie wartości:
Możesz używać wyrażeń warunkowych (ternary operator) do dynamicznego wstawiania wartości
W tej lekcji poznasz podstawy programowania obiektowego (OOP) w Pythonie na przykładzie klasy Car. Oto, czego się nauczysz:
Tworzenie klasy:
Klasy są szablonami do tworzenia obiektów. Definiuje się je za pomocą słowa kluczowego class.
Konstruktor (__init__):
Metoda __init__ jest wywoływana podczas tworzenia obiektu. Służy do inicjalizacji jego właściwości (atrybutów).
Atrybuty obiektu:
Atrybuty to zmienne przechowujące stan obiektu. Można je definiować w konstruktorze lub później.
Metody obiektu:
Metody to funkcje zdefiniowane w klasie, które operują na danych obiektu.
Przykład: printInfo() wyświetla informacje o samochodzie, a setTopSpeed() ustawia jego maksymalną prędkość.
Tworzenie obiektów:
Obiekty tworzy się, wywołując klasę jak funkcję (np. Car("Ford", "Mustang", "red", 1970)).
Modyfikowanie obiektów:
Atrybuty obiektu można zmieniać po jego utworzeniu (np. mustang.mileage = 100).
Metody obiektu można wywoływać, aby zmieniać jego stan lub wykonywać operacje (np. mustang.setTopSpeed(235)).
W tej lekcji poznasz, jak stosować konstruktor klasy w Pythonie, aby inicjalizować obiekty z różnymi parametrami. Oto, czego się nauczysz:
Konstruktor (__init__):
Konstruktor to specjalna metoda klasy, która jest automatycznie wywoływana podczas tworzenia obiektu.
Służy do ustawiania początkowych wartości atrybutów obiektu.
Parametry konstruktora:
Możesz definiować parametry konstruktora, które są wymagane do utworzenia obiektu (np. author).
Możesz również ustawiać domyślne wartości dla niektórych parametrów (np. title="unknown"), co sprawia, że są one opcjonalne.
Tworzenie obiektów:
Podczas tworzenia obiektu możesz przekazać wartości do konstruktora w kolejności lub nazwać argumenty (np. year=2010).
W tej lekcji poznasz, jak definiować i używać metod klasy w Pythonie, aby kontrolować zachowanie obiektów i zarządzać ich danymi. Oto, czego się nauczysz:
Metody klasy:
Metody to funkcje zdefiniowane w klasie, które operują na danych obiektu (atrybutach).
Mogą być używane do modyfikowania stanu obiektu lub wykonywania operacji na jego danych.
Weryfikacja danych:
Metody mogą zawierać logikę sprawdzającą poprawność danych przed ich przypisaniem do atrybutów obiektu.
Wyświetlanie informacji:
Można tworzyć metody, które wyświetlają informacje o obiekcie, np. wartości jego atrybutów.
Tworzenie obiektów:
Podczas tworzenia obiektu wywoływany jest konstruktor, który inicjalizuje atrybuty i może wywoływać metody do ustawiania ich wartości.
W tej lekcji poznasz, jak pracować z atrybutami klasy w Pythonie, które przechowują stan obiektu. Oto, czego się nauczysz:
Atrybuty instancji:
Atrybuty instancji to zmienne przypisane do konkretnego obiektu. Definiuje się je w konstruktorze (__init__) lub później.
Przykład: name, surname, age, city to atrybuty klasy Student.
Dynamiczne dodawanie atrybutów:
W Pythonie można dynamicznie dodawać nowe atrybuty do obiektu po jego utworzeniu (np. student1.country = "Poland").
Atrybuty domyślne:
Niektóre atrybuty mogą mieć wartości domyślne (np. schoolName i fieldOfStudy w klasie Student są początkowo ustawione na None).
Atrybuty klasy:
Atrybuty klasy są współdzielone przez wszystkie jej instancje. W przykładzie fieldsOfStudy w klasie School jest listą dostępną dla wszystkich obiektów tej klasy.
Manipulowanie atrybutami:
Metody klasy mogą modyfikować atrybuty obiektu (np. addStudent() w klasie School ustawia schoolName i fieldOfStudy dla studenta).
Wyświetlanie informacji:
Metody takie jak printInfo() w klasie Student i printSchoolInfo() w klasie School służą do wyświetlania danych przechowywanych w atrybutach.
W tej lekcji poznasz destruktor klasy w Pythonie, który jest wywoływany, gdy obiekt jest niszczony. Oto, czego się nauczysz:
Destruktor (__del__):
Destruktor to specjalna metoda klasy, która jest automatycznie wywoływana, gdy obiekt jest usuwany z pamięci.
Służy do wykonywania operacji porządkowych, np. zwalniania zasobów.
Kiedy jest wywoływany:
Destruktor jest wywoływany, gdy obiekt przestaje być używany, np. gdy wychodzi poza zakres lub jest jawnie usuwany za pomocą del.
W tej lekcji poznasz statyczne zmienne klasy w Pythonie, które są współdzielone przez wszystkie instancje klasy. Oto, czego się nauczysz:
Statyczne zmienne klasy:
Statyczne zmienne są definiowane w obrębie klasy, ale poza metodami. Są współdzielone przez wszystkie obiekty tej klasy.
Współdzielenie danych:
Statyczne zmienne pozwalają na przechowywanie danych, które są wspólne dla wszystkich instancji klasy, np. licznik obiektów lub lista wszystkich obiektów.
Modyfikowanie statycznych zmiennych:
Statyczne zmienne mogą być modyfikowane w konstruktorze lub innych metodach klasy, aby odzwierciedlać zmiany w stanie wszystkich obiektów.
Dostęp do statycznych zmiennych:
Statyczne zmienne są dostępne przez klasę, a nie przez konkretny obiekt, co umożliwia ich globalne zarządzanie.
Dynamiczne zarządzanie atrybutami:
Python oferuje funkcje do dynamicznego sprawdzania, ustawiania i pobierania atrybutów obiektu, co zwiększa elastyczność w pracy z danymi.
W tej lekcji poznasz dziedziczenie w Pythonie, które pozwala na tworzenie nowych klas na podstawie istniejących. Oto, czego się nauczysz:
Dziedziczenie:
Dziedziczenie umożliwia tworzenie nowych klas (klas potomnych) na podstawie istniejących klas (klas bazowych).
Klasa potomna dziedziczy atrybuty i metody klasy bazowej, ale może je również rozszerzać lub modyfikować.
Klasa bazowa i potomna:
Klasa bazowa (np. Vehicle) definiuje wspólne cechy i zachowania dla wszystkich klas potomnych.
Klasa potomna (np. Car i SuperCar) może dodawać nowe metody lub nadpisywać istniejące metody klasy bazowej.
Nadpisywanie metod:
Klasa potomna może nadpisać metodę klasy bazowej, aby dostosować jej zachowanie do swoich potrzeb.
Rozszerzanie funkcjonalności:
Klasa potomna może dodawać nowe metody, które są specyficzne dla jej potrzeb (np. reachSpeed300 w klasie SuperCar).
Hierarchia dziedziczenia:
Klasy mogą tworzyć hierarchię dziedziczenia, gdzie jedna klasa potomna może być klasą bazową dla kolejnej (np. Vehicle → Car → SuperCar).
W tej lekcji poznasz, jak działa dziedziczenie w połączeniu z konstruktorami w Pythonie. Oto, czego się nauczysz:
Konstruktor w klasie bazowej:
Klasa bazowa (np. Person) ma swój własny konstruktor, który inicjalizuje podstawowe atrybuty.
Dziedziczenie konstruktora:
Klasa potomna (np. Employee) może wywołać konstruktor klasy bazowej za pomocą super() lub bezpośrednio przez nazwę klasy (np. Person.__init__()), aby zainicjalizować dziedziczone atrybuty.
Rozszerzanie konstruktora:
Klasa potomna może dodawać nowe atrybuty, które są specyficzne dla niej, np. companyName i salary w klasie Employee.
Hierarchia dziedziczenia:
Klasa potomna może być klasą bazową dla kolejnej klasy (np. Manager dziedziczy po Employee), tworząc hierarchię dziedziczenia.
Dostęp do metod klasy bazowej:
Obiekty klasy potomnej mają dostęp do metod klasy bazowej (np. printPersonData()), a także mogą definiować własne metody (np. hireEmployee()).
Przykład użycia:
Tworzenie obiektów klasy potomnej (np. Employee lub Manager) automatycznie wywołuje konstruktory zarówno klasy bazowej, jak i potomnej.
W tej lekcji poznasz hermetyzację (enkapsulację) danych w klasach w Pythonie, która pozwala na kontrolowanie dostępu do atrybutów i metod. Oto, czego się nauczysz:
Prywatne atrybuty i metody:
W Pythonie można oznaczać atrybuty i metody jako prywatne, dodając podwójne podkreślenie __ przed ich nazwą.
Prywatne elementy są niedostępne bezpośrednio z zewnątrz klasy, co zapewnia kontrolę nad ich użyciem.
Dostęp do prywatnych elementów:
Prywatne atrybuty i metody są dostępne wewnątrz klasy, ale nie można się do nich odwołać bezpośrednio z zewnątrz.
W Pythonie istnieje jednak sposób na dostęp do prywatnych elementów poprzez specjalną składnię (np. _Klasa__nazwa), ale nie jest to zalecane.
Dziedziczenie a prywatne elementy:
Prywatne atrybuty i metody klasy bazowej nie są dostępne w klasach potomnych, co zapewnia dodatkową warstwę ochrony danych.
Kontrola dostępu:
Hermetyzacja pozwala na ukrywanie szczegółów implementacyjnych klasy i udostępnianie tylko niezbędnych metod i atrybutów.
W tej lekcji poznasz hermetyzację z użyciem getterów i setterów w Pythonie, które pozwalają na kontrolowany dostęp do atrybutów klasy. Oto, czego się nauczysz:
Właściwości (@property):
Gettery i settery są implementowane za pomocą dekoratora @property, który pozwala na traktowanie metody jak atrybutu.
Getter jest wywoływany, gdy odczytujemy wartość atrybutu.
Kontrola dostępu:
Setter jest wywoływany, gdy próbujemy przypisać wartość do atrybutu. Pozwala to na dodanie logiki weryfikującej poprawność danych przed ich przypisaniem.
Ukrywanie danych:
Atrybuty klasy mogą być oznaczone jako prywatne (np. __gears), co uniemożliwia bezpośredni dostęp do nich z zewnątrz klasy.
Bezpieczne zarządzanie danymi:
Dzięki getterom i setterom można kontrolować, jak dane są odczytywane i modyfikowane, co zwiększa bezpieczeństwo i elastyczność kodu.
W tej lekcji poznasz moduły oraz instrukcje import co pozwala na dzielenie programu na części czyli osobne pliki co ułatwia programowanie, szczególnie w większych projektach
W tej lekcji poznasz do czego służy __nam__ oraz funkcję reload
Pakiety w python to świetne rozwiązanie aby opakować pewien gotowy program czy część programu jako moduł który może być przydatny w innych programach
Python jest jednym z najprostszych i najprzyjemniejszych języków do nauki oraz codziennego programowania. Wiele potężnych firm nie może się mylić jak Google - YouTube, Facebook, Yahoo, Dropbox etc korzystając z niego w wielu projektach. Dołożyłem wszelkich starań aby ten kurs nauczył Ciebie Pythona w szybki i prosty sposób na slajdach, praktycznych przykładach oraz gotowych mini projektach.
Nauczysz się jak:
korzystać z zmiennych liczbowych, łańcuchów znaków, wartości logicznych, list, słowników, zbiorów oraz dokonywać konwersji między nimi
operatorów arytmetycznych, przypisania, porównania, logicznych, przynależności, tożsamości, konkatenacji
sterować programem instrukcją if, elif, else
korzystać z pętli for i while do wielokrotnego wywołania kodu oraz continue i break do przerywania ich działania
tworzyć własne funkcje, zwracać wartość z funkcji za pomocą return , przekazywać argumenty do funkcji, wykorzystywać scope - zasięg zmiennych oraz funkcje lambda
wykorzystywać funkcje do pracy z łańcuchami znaków, operacji na listach, słownikach, krotkach, datach i liczbach
programować obiektowo - OOP z wykorzystaniem klas, obiektów, metod, atrybutów, konstruktorów, destruktorów, statycznych zmiennych, dziedziczenia, hermetyzacji/enkapsulacji danych - getterów i setterów
importowania modułów z instrukcją import, również zewnętrznych pakietów za pomocą narzędzie pip
tworzenia własnych pakietów
pracy z plikami: zapis i odczyt plików tekstowych, binarnych, serializacji i deserializacji obiektów
programowania wielowątkowego na bazie _thread, threading i rozszerzając klasę Thread, synchronizację wątków
modułu Turtle malowania kształtów, wypełniania obiektów kolorem, obsługi ekranu i klawiatury
tworzenia interfejsu użytkownika z modułem Tkinter z użyciem widgetów jak: przycisków, labelów, pól tekstowych, checkbutonów, list, menu, suwaka, pól radio, spinbox oraz rozmieszczenia ich w oknie z metodami grid, place i pack
testy kodu z wykorzystaniem unittest
korzystanie z bazy danych PostgreSQL w Python i PgAdmin
nauczysz się używać ORM SQLAlchemy który przyśpiesza pracę z bazami danych
wyrażenia regulane
wzorce projektowe
tworzenie interfejsu użytkownika z PySide i wxPython
korzystanie z bazy danych SqlLite 3 która jest preinstalowana wraz z Python
scraping stron z Beautifulsoup
Flask - framework serwerowy w Python do tworzenia stron www
stworzysz aplikacje FullStack z Flask i frontendem do skracania linków i ranking piosenek
omówienie zaawansowanych wzorców projektowych jak: repository, dto, dao, eav itd wraz z bazami danych
300 omówionych pytań rekrutacyjnych
To nie koniec! Kurs składa się z wielu praktycznych ćwiczeń oraz projektów tworzonych od zera pokazujących praktyczne wykorzystanie Pythona jak:
program do pobierania aktualnych kursów walut z serwera w formacie JSON oraz ich prezentacja w terminalu
kalkulator w terminalu do wykonywania obliczeń na liczbach
pseudo kantor crypto z aktualnymi cenami z api serwera oraz przeliczeniem wartości z złotówek
prosty koszyk zakupów
quiz z pytaniami z api serwera oraz podliczeniem wyniku prawidłowych odpowiedzi
program pobierający strony html z serwera do pliku
wielowątkowe sprawdzanie dostępności do stron internetowych - statusy HTTP wraz z raportem do pliku
gra Snake - wąż z wykorzystaniem Turtle
kalkulator z interfejsem użytkownika dzięki Tkinter
prezentacja danych wybranych spółek giełdowych wraz z historią wyceny akcji na podstawie wybranego Tickera jak TSLA, AAPL itd
Kurs jest stale aktualizowany oraz rozbudowywany, ma bogactwo:
profesjonalnych slajdów z opisami zagadnień, przykładami, zdjęciami oraz rezultatami oczekiwanymi w przeglądarce.
kodowania na żywo omówionych tematów co pozwala na przećwiczenie i zapamiętanie nowo poznanych zagadnień
gotowe projekty, które stworzymy razem w celu utrwalenia całej wiedzy
bogactwo skondensowanych informacji, bez zbędnych dygresji
zadania do samodzielnego wykonania, gdzie w punktach określone jest co dokładnie trzeba wykonać, następnie zaprezentowane jest przykładowe rozwiązanie. Dzięki zadaniom przećwiczysz i utrwalisz samodzielnie nowo poznaną wiedzę