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-.
Witaj w kolejnej lekcji poświęconej obiektowości w pythonie
dziś porozmawiamy sobie na temat hermetyzacji nazywanej też
z angielskiego enkapsulacją czyli encapsulation o
co chodzi otóż dostęp do zmiennych w pythonie możemy
wywołać bezpośrednio w przypadku naszego pliku bill
mamy zmienną o nazwie entries
i dostęp do tej zmiennej możemy uzyskać z
pliku main.py na przykład za pomocą bill
kropka entries jednakże
nie jest to dobra praktyka ponieważ dajemy komuś kto korzysta
z naszej klasy bezpośredni dostęp dlatego też zobaczmy
co się stanie w przypadku takiego
kodu utwórzmy nową akcję o
nazwie access a
następnie spróbujemy zmodyfikować nasze
wpisy i przypisać do nich pusty słownik uruchommy
nasz kod i zobaczmy co się stanie dodajmy
sobie nowy posiłek zobaczmy
jaka jest suma czyli mamy w pamięci liczbę
2 2 2 i w tym momencie spróbujmy uzyskać
bezpośredni dostęp do naszych posiłków sprawdźmy teraz sumę zobaczmy
wykasowaliśmy wszystkie posiłki które mieliśmy na liście dlatego
też powinniśmy zastosować hermetyzację w celu uniknięcia
tego problemu to co możemy zrobić w pythonie to przeniesienie się
do pliku bill.py a następnie
użycia narzędzi refactoryzowania do
tego aby zmienić nazwę naszego
property zaczynając się od dwóch
znaków podkreślenia dzięki
temu python będzie wiedział że nasze
pole powinno pozostać prywatne czyli dostęp do tego pola powinny
mieć jedynie metody które znajdują się w tej klasie a nie metody które będą
z zewnątrz zaraz zobaczysz jaka będzie różnica uruchommy
ponownie nasz program i
ponownie zobaczmy co się stanie jeżeli wywołamy akcję access
zobaczmy
mimo że powiedzieliśmy aby zresetować całkowicie
naszą listę posiłków to python nie posłuchał
nas a co bardzo ważne nie nie pokazał żadnego
błędu przez co tak naprawdę ty jako osoba która się
uczy możesz mieć problem ze zrozumieniem tego zdarzenia
dlatego też warto stworzyć coś co
nazywamy akcesorami i powiedzieć
dosłownie jaki sposób będziemy mieć dostęp do danej
listy przejdźmy do naszego pliku
bill.py i teraz zobaczmy
w jaki sposób jesteśmy w
stanie dodać tak zwane property używamy
tutaj adnotacji wskazując
na to że używamy tutaj tak zwanej adnotacji wskazując
na to że nasze property będzie miało dostęp jedynie
do odczytu w
ten sposób jesteśmy w stanie zwalidować i dodać kod
walidujący do tego aby sprawdzić czy będziemy w
stanie uzyskać bezpośredni dostęp a jeżeli tak to czy powinno
zdarzyć się cokolwiek więcej okej sprawdźmy
teraz jak uzyskać dostęp do naszego property pycharm
podpowiada nam że dane pole jest typu
property za pomocą takiego p i
dzięki temu jesteśmy w stanie uzyskać dostęp
do naszego property dodajmy
posiłek i
sprawdźmy co się stanie kiedy
będziemy chcieli mieć do niego dostęp niestety my
dodaliśmy jedynie property do odczytu python
zabronił nam modyfikowania naszej listy posiłków co jest bardzo
dobre czyli zastosowaliśmy proces hermetyzacji do tego aby nikt niepowołany
nie nadpisał naszej listy aby jednak zezwolić użytkownikowi
na to aby dana lista mogła zostać podmieniona na przykład
zapisując listę posiłków z pliku i chcąc ją wczytać wystarczy
zrobić dodatkowe pole i
określić je jako setter tutaj
podajemy listę która będzie wstrzykiwana przez
użytkownika i możemy zweryfikować czy
dana lista nie jest przypadkiem pusta jeżeli chcielibyśmy
przypisać pustą listę to wtedy możemy dodać
informację użytkownikowi że coś jest nie tak w
przeciwnym wypadku jeżeli jakieś dane zostały przekazane przez
użytkownika możemy po prostu podmienić naszą listę na nową
zobaczymy teraz jak zachowa
się nasz program dostaliśmy
informację która jest bardzo jasna i czytelna dla użytkownika że
dana lista nie może być pusta w
ten sposób byliśmy w stanie utworzyć hermatyzację i
zwalidować czy użytkownik faktycznie podaje poprawne
dane