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-.
Czas na naukę endpointów endpointy są
ścieżkami do których będą mieli dostęp użytkownicy twojej
aplikacji webowej zobaczmy to na przykładzie kiedy uruchomimy
naszą aplikację domyślnym endpointem jest
po prostu nazwa naszego serwera plus port na
stronach internetowych możesz zauważyć tak zwane
ścieżki które na przykład określają do jakiej podstrony
albo jaką logikę należy wykonać w
tym przypadku kiedy wpiszemy greetings nasz serwer zwróci
że niestety nie znalazł danej ścieżki i
nie została ona poprawnie obsłużona spróbujmy
teraz zaimplementować naszego route'a naszą
ścieżkę o nazwie greetings w naszej aplikacji
flaskowej pamiętajmy
aby ścieżka podana w
metodzie route była taka sama jaką chcemy uzyskać
na naszej stronie internetowej w naszym przypadku będzie
to greetings i utwórzmy nową funkcję
odświeżmy naszą stronę okej
uruchommy nasz serwer i zobaczmy czy jesteśmy
w stanie zobaczyć nową wartość udało nam się utworzyć nowy route
który wskazuje na nazwę greetings i w przypadku wejścia
na naszą podstronę zostanie wyświetlone hi user okej
innym typem zwracanym
jaki możemy przyjąć jest tak zwany json
jeżeli masz doświadczenie z aplikacjami internetowymi na
pewno słyszałeś to pojęcie jest tak zwany json object
notation jest tak zwany javascript object notation czyli
format danych który jest przyjazny dla języków na przykład javascript aby
zwrócić javascript tutaj wystarczy
zaimportować bibliotekę jsonify a
następnie użyć jej w naszym kodzie
okej jeżeli odświeżymy to zobaczyć
można że zmieniła się czcionka ale żeby być stuprocentowo
pewnym że wszystko jest w porządku należałoby odświeżyć
naszą stronę a
następnie w sekcji network zweryfikować tak zwane
nagłówki w tym miejscu będziemy mieć informację jakiego
typu zawartość została wysłana przez serwer tak
jak chcieliśmy jest to json w poprzednim przypadku wróćmy
będzie to zwykły text html nasze
route'y mogą również przyjmować zmienne podawane przez użytkownika tutaj
w tym przykładzie użyjmy na przykład nazwy powiedzmy mike
pamiętajmy że nasz serwer nie jest jeszcze przygotowany do
obsłużenia tego typu zapytania więc musimy utworzyć nowy
route w
tym momencie w nawiasach ostrych podajemy
nazwy zmiennej która powinna zostać ujęta
przy przetwarzaniu naszego zapytania w
tym momencie tworząc funkcję możemy
przyjąć że dany argument został do niej przepisany
okej zobaczmy czy udało nam się
uzyskać pożądany efekt okej
zweryfikujmy czy nasza funkcja działa
poprawnie uruchommy nasz serwer i spróbujmy
mu podać nazwę mike a teraz john i
zweryfikujmy czy dana zmienna zmienia się dynamicznie oczywiście
zapomniałem tutaj o spacji teraz jest w porządku i byliśmy w stanie
przekazać tą część zapytania jako
zmienną dynamiczną która zostanie przetwarzana przez nasz serwer przez
nasz serwer i w zależności od typu zapytania może
być w stanie przetworzyć inną logikę w zależności od nazwy
zmiennej okej co
się stanie w momencie kiedy nie będziemy mieć żadnej wartości niestety
znowu występuje problem nie znalezienia route'a to
co możemy zrobić to wskazać że nasza
funkcja obsługuje oba route'y nawet
bez dodatkowej zmiennej jednakże
w samej metodzie greetings powinniśmy stworzyć
zmienną domyślną która będzie wskazywała na przykład
na nazwę user dzięki temu
jeżeli użytkownik nie poda dodatkowego parametru będziemy
w stanie go z powodzeniem przetworzyć
okej jeżeli
nie podajemy dodatkowych informacji wyświetla się hi user w
przypadku podania nazwy mamy tutaj hi mike w
ten sposób możemy to modyfikować jeżeli chcielibyśmy uzyskać
kilka parametrów to
analogicznie stwórzmy sobie nowy
route z imieniem i nazwiskiem i
tu chciałbym ci pokazać pełną bardzo fajną funkcjonalność która
jest dostępna od pythona przepraszam która
jest dostępna od pythona 3.6 mamy do dyspozycji bardzo
fajny sposób organizowania stringów wystarczy
użyć litery f a następnie podać
naszego stringa i w nawiasach klamrowych użyć
zmiennych które podał użytkownik okej
zobaczymy czy nasz route działa poprawnie mamy
informację welcome mike smith dodatkową rzeczą którą możemy
zrobić jeżeli użytkownik poda zmienne z małej
litery możemy użyć polecenia capitalize okej
literówka capitalize i
zobaczyć jak będziesz działał nasz program poznaliśmy podstawowy
route get który przyda nam się do nawigowania
i przekazywania danych do naszej aplikacji