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-.
Okej udało nam się posiąść wiedzę na temat frameworka
flask i jego zastosowań webowych teraz
czas na to żebyśmy mogli wykorzystać naszą wiedzę w praktyce i przerobić
program który wcześniej konsolowo na postać webową zacznijmy
od analizy naszego kodu i sprawdzenia tak naprawdę co będzie się
zmieniało a co możemy wykorzystać istniejącego
w naszym kodzie przede wszystkim jeżeli mówimy
o widokach naszej aplikacji w pliku view.py to
są one strickte konsolowe i musimy je zastąpić za
pomocą template'ów który widziałeś wcześniej generując szablony
jinja okej następnie
patrząc na plik main i naszego dużego
while'a który będzie posiadał konkretne akcje tak
naprawdę każda akcja to oddzielny route na przykład dodawanie
posiłków czy dodawanie konkretnego serwisu
więc zajmijmy się stworzeniem nowych
route'ów i sprawdźmy w jak w prosty sposób utworzyć
aplikacje na bazie flaska w już istniejącym
kodzie okej zacznijmy od instalacji flaska
w naszym projekcie okej
flask został zainstalowany poprawnie możemy zatem już
wykorzystywać go w naszej aplikacji tak jak poprzednio
zajmiemy się importem głównych elementów tego
frameworka będzie nam potrzebny request oraz render
template okej
tworzymy obiekt który będzie globalny a
następnie tworzymy dwa proste route'y które pozwolą
nam na dodanie posiłku oraz sumowanie całkowitej
wartości naszego zamówienia warto
się zastanowić w jaki sposób będziemy przekazywać te dane czy
będą to metody post czy get lepszą
praktyką w przypadku dodawania dużej ilości danych lub
danych które tak naprawdę nie powinny zostać naocznie pokazane
użytkownikowi jest użycie metody post po to aby
wykonywała się ona bardziej w tle więc
w przypadku podawania posiłków dodajmy metodę
post jako perforowaną a następnie
utworzymy funkcję za pomocą której będziemy w stanie dodać
nasz posiłek zobaczmy utworzyliśmy wcześniej aplikację konsolową
która posiada tak naprawdę taką samą logikę którą
będziemy potrzebować do naszej aplikacji webowej czyli ta część związana z obsługą
obiektu bill pozostanie nietknięta linia 18
linię 18 tak naprawdę możemy skopiować i
przenieść do naszej funkcji add meal która
odpowiada za route dodający nowy posiłek to co
ulega tutaj zmianie to sposób wyłuskiwania danych
z naszego formularza wcześniej dokonywaliśmy go za pomocą konsoli
i po prostu prosiliśmy użytkownika o podanie bezpośrednio
z klawiatury danych tym razem będziemy tworzyć formularz
w którym użytkownik będzie podawał poniższe dane
używamy
obiektu request i
przepisujemy nasze zmienne
utwórzmy jeszcze route związany z
sumowaniem żebyśmy mogli zweryfikować poprawność działania naszych
route'ów tutaj spokojnie wystarczy już sama metoda get
ponieważ nie będziemy przekazywać żadnych wartości i
skorzystajmy z szybkiego formatowania o którym mówiłem
we wcześniejszych lekcjach za
pomocą klamry możemy dostać się bezpośrednio
do funkcji która umożliwi nam skalkulowanie
całego zamówienia okej
sprawdźmy teraz w jaki sposób uruchomić
nasz program jeżeli wciśniemy play
tak naprawdę pokaże nam się stara aplikacja konsolowa czyli naszym
zadaniem jest zmiana domyślnego zachowania aplikacji po
to aby uruchamiała się aplikacja webowa wystarczy
zamienić na tą linijkę na następującą
postać help
okej zobaczmy że uruchomiliśmy
nasz serwer ale domyślny route tak naprawdę nie istnieje
mamy jedynie do dyspozycji route o nazwie add meal oraz
sum okej
zobaczmy co się stało dostaliśmy informację
że nasz rachunek nie jest zdefiniowany sytuacja
ta wstąpiła ponieważ sam obiekt bill jest
tworzony dopiero w naszej funkcji name dlatego też w tym konkretnym przypadku przeniesiemy
tworzenie obiektu poza funkcje zobaczmy
teraz co się stanie okej nie mamy jeszcze żadnego produktu
więc powinniśmy go dodać aby
zrobić to szybko i przetestować czy nasza metoda działa poprawnie użyjmy znowu
postman do
tego aby przetestować route
add meal pamiętajmy
o tym aby nasza funkcja zwracała
jakąkolwiek wartość na
przykład success zobaczmy
teraz jak zachowa się nasz program udało
się pobrać udało się dodać nasz
produkt do listy i teraz również w postman możemy możemy tak
naprawdę sprawdzić czy poprawnie dodaliśmy
produkt do rachunku tak
jak w przypadku aplikacji konsolowej musimy pamiętać o rzutowaniu
zmiennych jeżeli chodzi o aplikacje webowe my podajemy
dane w formie tekstowej dlatego też musimy pamiętać o tym aby
przeformatować te zmienne
na postać zmiennoprzecinkową w przypadku ceny zobaczmy
teraz czy uda nam się pobrać okej
dodajemy nasz produkt teraz próbujemy go pobrać
świetnie udało nam się utrzymać informację że
całkowita ilość koszyka wynosi 2,99
w przypadku dodania kolejnego produktu cała
płatność powinna się zwiększyć tak jest okej tak
samo możemy dany route get uruchomić bezpośrednio w przeglądarce i ta
sama wartość zostanie tutaj ukazana to dosyć niebezpieczna
sytuacja ponieważ postman jest niezależny
do przeglądarki zobacz jeżeli uruchomimy aplikację w
innej przeglądarce takiej jak safari czy firefox warto
zwrócić uwagę na problem posiadania tego
samego stanu czyli tej samej ceny bez
rozróżnienia na konkretne sesję użytkowników zajmiemyę w tym w kolejnych lekcjach