/python_course

Primary LanguageJupyter Notebook

Python

od początkującego do średniozaawansowanego

Kurs zawiera przegląd wybranych zagadnień języka python. Ma formę warsztatu, gdzie każdy z uczestników, będzie w stanie uruchomić kod na swoim laptopie. Całość składa się z 6 modułów. Wszystkie zostały przygotowane jako scenariusze dla jupyter-notebook'a. Oprócz ilustracji najważniejszych tematów w trakcie kursu pojawią się praktyczne przykłady i rozważania na temat tego czy dane konstrukcje językowe są przydatne czy nie i kiedy powinniśmy ich używać. Przelotnie poruszymy także inne problemy takie jak profilowanie kodu i disassembling. Obydwie wersje języka (2.7 i 3.5+) będą tematem rozważań. Do każdego modułu przewidziano zadanie do samodzielnego rozwiązania. Czas: 5-6 h.

Wymagania

  1. Znajomość podstawowej składni: użycie wcięć, funkcje, deklaracje klas, zmienne, instrukcje warunkowe, pętla for
  2. Podstawowa wiedza o wbudowanych typach danych: słownik, krotka, lista, str, bool

Spis treści:

1. Kontrola przepływu sterowania

  • is vs ==
  • więcej o porównaniach
  • trochę bardziej zaawansowane konstrukcje z 'for': enumerate, for-else, wyrażenia listowe

2. Struktury danych

  • listy vs krotki
  • collections.namedtuple
  • set
  • słownik
  • collections.defaultdict
  • collections.counter

3. Generatory

  • konstrukcja
  • iteration protocol
  • wyrażenia generatorowe
  • zastosowanie

4. Elementy programowania funkcyjnego

  • lambda
  • map, filter, reduce
  • moduł itertools w tym: chain, cycle, izip, imap
  • moduł operator
  • partials
  • rozważania na temat modularnego kodu
  • zastosowanie

5. Domknięcia

  • konstrukcja
  • zastosowanie
  • dekoratory
  • dekoratory z argumentami
  • przykłady

6. Metody specjalne

  • użycie
  • getiem i setitem
  • getattr i setattr
  • menadżery kontekstu + 'with'

Dzięki kursowi pozanasz kilka nowych konstrukcji językowych i powiększysz swoje zrozumienie Pythona.