od Podstaw
4 godz. 14 min · Python · Full-stack i Programowanie
Rafał Stępień.NET, JS, Java, PythonZaczniemy spokojnie, od konfiguracji Pythona oraz środowiska programistycznego. Nie tracąc czasu uzbroję Cię w zestaw podstawowych instrukcji, za pomocą których stworzymy pierwsze praktyczne programy komputerowe. Zobaczysz na czym polega logika tworzenia aplikacji, jak poprawnie wykorzystywać typy zmiennych udostępnione przez twórców Pythona oraz jak poradzić sobie z obsługą błędów. Na końcu tej sekcji dowiesz się w jaki sposób dbać o wygląd naszego kodu oraz zaoszczędzić czas stosując funkcję.
Żeby zrozumieć i wykorzystywać pracę innych programistów pragnę pokazać Ci czym są moduły i w jaki sposób możesz je tworzyć w Twoim programie. To częsta praktyka pozwalająca na zachowanie przejrzystości kodu wraz z możliwością jego powtórnego wykorzystania w innych częściach naszej aplikacji. Zaznajomimy się z narzędziem PIP, dzięki któremu z łatwością zainstalujesz jeden z ponad 200 000 projektów (bibliotek). Korzystając z pracy wykonanej dzięki tysiącom innych programistów zaoszczędzisz czas oraz zminimalizujesz ilość popełnianych błędów. Na koniec sekcji dowiesz się czym jest virtualenv i dlaczego warto korzystać z niego w każdym projekcie.
W tej sekcji wejdziemy do świata programowania obiektowego - najczęściej wykorzystywanego sposobu w jaki formuje się programy komputerowe w dzisiejszym świecie. Dowiesz się czym jest klasa oraz jak utworzyć ją w Pythonie. Zobaczysz że programiści starają się odzwierciedlić otaczający nasz świat w postać kodu na wszystkie możliwe sposoby. Zapoznam Cię z głównymi nurtami w programowaniu obiektowym, aby zrozumieć w jaki sposób napisać dobrej jakości kod. W każdej części w praktyce wykorzystamy wiedzę teoretyczną zamieniając ją na postać kodu Python-a. Na koniec pokaże Ci jak można obsługiwać niestandardowe zachowania programu w taki sposób, aby nie przestraszyć użytkownika naszej aplikacji :)
Jeśli masz dosyć tworzenia aplikacji konsolowych...wreszcie możesz odetchnąć. Wkraczamy w świat internetu! Twoim celem jest napisanie kolejnego Facebook, utworzenie własnej strony internetowej lub serwera do gier? Czas wykorzystać wiedzę zgromadzoną podczas tego kursu. Pokaże Ci w jaki sposób zainstalować oraz skonfigurować mikroframework Flask do tworzenia aplikacji internetowych. Krok po kroku pomogę Ci w utworzeniu pierwszej aplikacji internetowej wraz z pokazaniem narzędzi takich jak Jinja, sesji oraz techniki Blueprint. Na koniec sekcji pokażę Ci w jaki sposób wgrać swoją aplikację na zewnętrzny serwer i pokazać się światu!
Podczas mojej nauki, pracy oraz pomocy innymi natknąłem się na wiele problemów, które blokowały początkujących adeptów programowania przed dalszą pracą. Być może utkniesz na jakimś błędzie, usuniesz niepoprawną część kodu lub nie będziesz wiedzieć co dzieje się z Twoim programem. Miałem wiele takich chwil, dlatego specjalnie na taką okazję utworzyłem dla Ciebie skrzynkę z narzędziami. Znajdziesz tam sposoby-wytrychy na poradzenie sobie w sytuacjach kryzysowych. Dowiesz się między innymi jak krok po kroku zobaczyć w jaki sposób komputer uruchamia Twój kod, czym mogą być spowodowane niespodziewane błędy oraz w jaki sposób poprawić jakość Twojej aplikacji.
Utworzyłem ten kurs dla osób, które są na początku swojej drogi z programowaniem oraz językiem Python. Jeśli posiadasz już doświadczenie w innych językach programowania z pewnością dużo łatwiej będzie Ci przyswoić wiedzę zawartą w tym kursie, niemniej zakładam, że nie masz pojęcia o programowaniu. W kursie stawiam na praktykę i chcę Ci pokazać jak szybko wykorzystać nabytą wiedzę, dlatego też po bardziej zaawansowaną część teoretyczną odsyłam do blogów, artykułów online oraz książek ze środowiska Pythona-.
Cześć witam cię w kolejnej lekcji na której porozmawiamy
na temat petli przygotowałem dla ciebie krótką listę skoczków narciarskich wraz
z ich narodowościami teraz zajmiemy się wypisaniem wszystkich
skoczków na ekran do naszej konsoli użyjmy polecenia for i
przejdźmy po wszystkich skoczkach którzy znajdują
się w naszej liście zobaczmy
udało nam się wypisać wszystkie słowniki które
stanowią naszych skoczków do użytkownika załóżmy że
chcielibyśmy teraz wypisać pary skoczków na ekran aby tego dokonać użyjemy
pętli while petla while charakteryzuje się tym że musimy zmienną
pomocniczą która będzie określała kolejne indeksy naszej
pętli na samym początku będzie to oczywiście indeks zerowy za pomocą
słowa kluczowego while jesteśmy w stanie określić waruenk do
kiedy iteracja ma nastąpić ponieważ posiadamy
sześciu zawodników to będziemy iterować
od zera do 5 teraz
pozostaje nam wypisać z naszej listy pierwszego
skoczka oraz kolejnego
uruchommy nasz program zobaczmy
co się stało to bardzo często sytuacja początku nauki
programowania utworzyliśmy tak zwaną pętlę nieskończoną dlaczego
ponieważ nie zwiększamy w żadnym kroku elementu indeks
dlatego też nasz program będzie nieskończony
i nigdy się nie zatrzyma aby wymusić jego zatrzymanie należy
użyć tutaj tego czerwonego przycisku stop to co należy zmienić to
po prostu dodawać w każdym przebiegu
petli nasz indeks o 2 zobaczmy teraz jak
zachowa się nasz program użytkownik dostał pary konkretnych
zawodników wyobraźmy sobie teraz że musimy
znaleźć konkretnego skoczka w naszej liście
aby tego dokonać wróćmy do pętli for i
utwórzmy instrukcję warunkową która pozwoli nam na znalezienie konkretnego
skoczka po imieniu i nazwisku jak możesz zauważyć strukturę
danych którą mamy to lista która zawiera elementy
które są słownikiem to bardzo często sytuacja w pythonie
że będziemy zagnieżdżać różne typy struktur
danych wystarczy
użyć funkcji keys która zwróci nam klucze z
naszego słownika czyli w tym przypadku pierwszym
obiegu pętli dostaniemy tutaj kobayashi
i musimy odnieść się do pierwszego
elementu załóżmy
że szukamy kamila stocha jeżeli
go znajdziemy wypiszmy i w momencie kiedy
znaleźliśmy konkretnego zawodnika możemy użyć
instrukcji break po to abyśmy nie musieli już iterować
dalej ok zobaczymy czy nasz program zadziała niestety
możemy zobaczyć że klucze a
tak naprawdę typ dict_keys nie wspomagają nie umożliwiają
indeksowania czyli nie jesteśmy w stanie w taki prosty sposób się odnieść
do konkretnego klucza dlaczego to robimy ponieważ nasz słownik mógłby
zawierać kilka kluczy moglibyśmy tu coś więcej dopisać moglibyśmy rozszerzać nasz program i
wtedy mielibyśmy większą ilość kluczy bardzo
prosto możemy sobie poradzić z tym problemem wystarczy zrzutować nasz dict_keys
ten typ na listę i
w ten sposób jesteśmy w stanie znaleźć naszego kamila
stocha i sprawdzić że jest polakiem przejdźmy dalej załóżmy
że chcemy wypisać trzech pierwszych zawodników od
razu do głowy powinna nam przyjść pętla while
ponieważ nie chcemy iterować po wszystkich
a jedynie wypisać trzech zadeklarujmy na nowo naszą
zmienną będziemy
potrzebować jedynie trzech więc tutaj liczba
3 dobrą praktyką jest przypisanie
tutaj tak zwanej magicznej liczby trójki do jakiejś zmiennej pamiętajmy
o zwiększeniu naszego indeksu i zobaczmy
czy byliśmy w stanie wypisać trzech pierwszych zawodników tutaj
będzie informacja o naszych pierwszych trzech pierwszych zawodnikach zgodnie
z tym że jest to lista będą ci zawodnicy zawsze w tej
samej kolejności okej przejdźmy do
kolejnego zadania sprawdźmy czy uda nam się znaleźć pierwszego
polaka tutaj
jeżeli itrujemy po całej kolekcji nie wiemy gdzie znajduje się konkretny
klucz konkretna wartość to możemy z powodzeniem użyć
pętli for znowu będziemy przeszukiwać nasz
słownik jednakże nie będziemy bazować na kluczach
ale na wartościach więc zamiast używać funkcji keys użyję tutaj
tutaj funkcji values jeżeli
został znaleziony szukamy tylko jednego polaka to
możemy użyć break zobaczmy teraz co się stanie gdy uruchomimy
nasz program mimo że nie wystąpił żaden błąd to
nie dostaliśmy naszej spodziewanej wartości czyli kamila stocha dlaczego
tak się stało sprawdźmy jakiego typu jest
jumper.values to
częsta metoda dochodzenia do błędów
zobacz nie daliśmy tutaj żadnego indeksu sprawdźmy
ten sam
błąd co wcześniej nie możemy indeksować obiektu dict_values
dlatego też należy go zrzutować na
obiekt typu list sprawdźmy teraz
okej jest kamil stoch i został
wcześniejszy print więc możemy go spokojnie usunąć ostatnią
rzeczą którą chciałbym ci pokazać to sposób w jakim
jesteśmy w stanie znaleźć samych norwegów znowu
użyjemy pętli for sprawdźmy teraz
mamy dwóch norwegów ciekawą
własnością pythona której nie ma w innych językach
które znam jest tak zwane list comprehension o co chodzi
spójrz taki zapis
który jest już dla ciebie zrozumiały możemy
zapisać na skróconą wersję która będzie miała
następującą postać expression czyli
coś co będzie wykonywane jest na samym początku tutaj
umieszczamy naszego fora i po
czym iterujemy a na samym końcu podajemy nasz
conditional naszą instrukcję warunkową zobaczymy teraz w jaki sposób możemy
zamienić wyszukiwanie naszych norwegów na taką postać skróconą
tak
jak poprzednio mamy słowo kluczowe jumper zamieniamy
to na fora
iterujemy po wszystkich skoczkach a następnie szukamy już konkretnego
norweskiego zawodnika
ostatnią
rzeczą będzie wypisanie naszych znalezionych norwegów zobacz
tutaj wypisaliśmy konkretne elementy słownika
w tym przypadku dostaliśmy całą listę często na serwisach
typu stack overflow możesz znaleźć taki właśnie zapis
dlatego nie chciałbym żeby był on dla ciebie obcy