1.2. About Agenda
Wprowadzenie do języka Python:
konfiguracja środowiska
Uruchamianie kodu w środowisku IDE
Debugging i introspekcja
Uruchamianie testów (doctest, unittest)
Refactoring
konfiguracja i korzystanie z Jupyter
Struktury danych oraz instrukcje podstawowe języka:
Typy wbudowane: liczby, łańcuchy znaków, listy, słowniki, krotki
Typy złożone
Przypisania
Instrukcje decyzyjne
Pętle
Czytanie plików
Funkcje w języku Python:
Zastosowanie funkcji
Zwracanie i przekazywanie parametrów do/z funkcji
Funkcje parametryzowane, parametry pozycyjne, nazwane oraz * i **
Programowanie obiektowe:
Podstawowe wiadomości o programowaniu obiektowym
Definiowanie klasy w języku Python
Przeciążanie operatorów
Dziedziczenie
Dataclass
Wyjątki: rodzaje, przechwytywanie, tworzenie własnych
Jakość, testowanie i dobre praktyki:
PEP8 i PEP20
Doctest
Unittest
Wprowadzenie do TDD
Type Annotation
Wykorzystanie Pythona do automatyzacji testów
Continuous Integration i Delivery
Selenium
Modularyzacja programu oraz korzystanie z bibliotek:
Najczęściej wykorzystywane moduły biblioteki standardowej
Virtualenv i separacja bibliotek
pip
ipipenv
Instalacja bibliotek zewnętrznych
Tworzenie własnych modułów
Praca z systemem operacyjnym
Parsowanie argumentów i korzystanie z terminala
Manipulacja i prezentacja danych:
Serializacja danych do formatu JSON, Pickle, XML oraz CSV
Operacje na bazach danych w języku Python
Generowanie interaktywnych wykresów oraz raportów za pomocą Matplotlib, Plotly i Jupyter
Testowanie webaplikacji
Podstawy programowania sieciowego i HTTP w języku Python
Omówienie protokołu REST
Dobre praktyki tworzenia API
(opcjonalnie) tworzenie i korzystanie z narzędzia Swagger do dokumentacji API
(opcjonalnie) wstęp do Git
(opcjonalnie) wstęp do Django framework