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 chciałbym opowiedzieć ci czym
jest polimorfizm i w jaki sposób można zastosować go w naszym kodzie tak
jak pamiętasz wcześniej dodaliśmy dodatkowa usługę do naszego
programu o nazwie service aby wykorzystać ją w pełni
należałoby zmodyfikować naszą metodę print to file
w taki sposób że jeżeli mamy do czynienia z usługą to
chcielibyśmy dostać informację również o ilości gości która została
zapisana na naszej pozycji jednym z podejść
jest zastosowanie funkcji is instance wystarczy
sprawdzić czy nasz element
jest typem
klasy meal jeżeli tak to
wołamy kod który znajduje się tutaj w innym
przypadku jeżeli nie będzie to klasa typu meal a
service powinniśmy dać informacje o ilości gości na zamówieniu w tym przypadku
moglibyśmy uzyć else ale specjalnie użyję tutaj elif żeby wykorzystać tą
funkcję is instance żeby pokazać
ci w jaki sposób możemy jej używać i
dodajmy jej informację o
ilości gości widzimy że nasza linia
zaczyna się wydłużać dlatego też warto ją przenieść do kolejnej
linii żebyśmy wszystko widzieli na jednym ekranie pamiętajmy żeby dodać
tutaj pole określające ilość naszych
gości i sprawdźmy w jaki sposób teraz działa nasz program nasz
rachunek pamiętajmy o odświeżeniu i
mamy tutaj informację dodatkową o ilości
gości mamy literówkę możemy to od razu poprawić jednakże
dzięki temu że korzystamy z dziedziczenia i
mamy jedną klasę bazową to jesteśmy w stanie użyć tak
zwany mechanizm polimorfizmu czyli będziemy
w stanie usunąć nasze instrukcje warunkowe if i
elif przerzucając odpowiedzialność za wygenerowanie odpowiedniego
ciągu znaków który będzie wpisem do naszego pliku
na rzecz już konkretnej klasy zobaczmy jak to zrobić na
początku przenieśmy się do naszej klasy bazowej entry i utwórzmy
metodę o nazwie
generate description nasza metoda będzie zwracała opis
naszej klasy który będzie mógł zostać zapisany do
pliku dlatego też tutaj użyjemy konkretnych
pól naszej klasy takich jak nazwa i cena
w przypadku klasy service nasza
metoda generate description powinna zostać przysłonięta ponieważ
mam dodatkową informacje o tym ilu gości jest na
naszym rachunku w ten sposób w naszej klasie bill jesteśmy już
odpowiedzialny za to żeby rozpoznawać z jakim typem instancja
obiektu mamy do czynienia ponieważ mamy konkretną metodę do
tego żeby wygenerować tekst który znajdzie się w naszym pliku wystarczy
użyć file i
metodę o nazwie generate description dzięki
temu pozbywamy się tych linii kodu i nie jesteśmy zależni w ogóle od instrukcji warunkowych
zobaczmy
że nasz kod jest o wiele bardziej przejrzyste a odpowiedzialnością za
konkretne generowanie jeżeli dodalibyśmy jeszcze innego typu usługi lub
produkty lub pokrewne produkty cokolwiek co byłoby potrzebne naszemu koledze zostałoby
przekazane jako odpowiedzialność już konkretnej klasy dlatego
nie musielibyśmy w ogóle modyfikować naszej klasy bill naszego
rachunku no zobaczymy teraz jak działa nasza aplikacja czy
nic się nie zmieniło okej sprawdźmy efekt
jest taki sam ale na przykład został zrefacturozywany i wygląda na
pewno dużo lepiej dzięki zastosowaniu mechanizmu polimorfizmu