1.1. About Program
Python: Intermediate (level 1)
1.1.1. Polish
Wprowadzenie:
Zadania określające poziom grupy
Zmiany w najnowszych wydaniach Python
Składnia:
Rozwinięcia list, set, dict i wyrażenia generatorowe
Generowanie (zip, enumerate, range, map, filter)
Unpacking Assignment
Pattern Matching:
Wprowadzenie do składni
Wzorce: literal, or, wildcard, capture, constant
Wzorce: sequence, mapping, class, walrus
Guard i subpattern
Print i PPrint:
Zaawansowane opcje formatowania - print
Formatowanie wyświetlania obiektów - pprint
Stringifikacja obiektów (str, repr, format)
Daty i strefy czasowe:
Tworzenie obiektów dat, parsowanie i formatowanie - datetime
Przesunięcia czasu i dat - timedelta
Praca z timestamp - time, datetime
Obsługa stref czasowych - zoneinfo
Obsługa kalendarza - calendar
Format CSV:
Specyfika formatu i najczęstsze problemy
Zapis i odczyt danych płaskich, moduł csv
Zapis i odczyt danych relacyjnych
Moduł csv oraz pandas
Format JSON:
Specyfika formatu i najczęstsze problemy
Zapis i odczyt prostych danych
Enkoder i dekoder dla dat i obiektów złożonych
Format TOML:
Specyfika formatu i najczęstsze problemy
Odczyt danych
Co to jest plik pyproject.toml
Format Pickle:
Serializacja i deserializacja obiektów, dat, relacji
Zapis do pliku, odczyt z pliku
Wersje protokołów i kompatybilność
Wyrażenia regularne:
Składnia (identifier, qualifiers, quantifiers, grouping, backreference)
Wyrażenia chciwe i leniwe
Wyszukiwanie wieloliniowe
Grupy nazwane, pozycyjne, niechwytające i komentarze
Flagi
Korzystanie z wyrażeń regularnych w Python
Bazy danych:
DB API i bazy relacyjne na przykładzie SQLite3
Tworzenie i zmienianie schema (CREATE TABLE, CREATE INDEX, ALTER, DROP)
Tworzenie i zmienianie danych (INSERT, UPDATE, DELETE)
Wybór danych (SELECT, podzapytania, kursory, relacje, CTE)
Problematyka SQL injection
Projekt praktyczny:
Zastosowanie technologii ze szkolenia
Dobre praktyki
Wykorzystanie debuggera w IDE
1.1.2. English
Unpacking:
Unpacking assignment with star
Unpacking function parameters with
*args
,**kwargs
Unpacking function arguments using
*args
,**kwargs
Assignment Expression
Parameter syntax for defining functions and methods API
Type Annotations:
Basic types
Sequence
Mappings
Callables (functions)
Classes, objects, methods, attributes
Dates, Times, Time-deltas and Timezones:
Datetime object definition, date parsing and formatting - datetime
Time shifts - timedelta
Working with timestamps
Timezone handling - zoneinfo
Calendar generation - calendar
Data serialization, dates, objects, nested data structures with relations:
CSV format (flat data, relational data)
JSON format (simple data structures, dates, objects)
Pickle format
Regular Expressions:
Syntax (identifiers, qualifiers, quantifiers, groupings, backreference)
Lazy and greedy expressions
Multiline search
Groups: named, positional, non-capturing and comment
Using regular expressions in Python
Databases:
DB API
Relational databases - sqlite3
Schema creation, modification and deletion (CREATE, ALTER, DROP)
Data creation, modification and deletion (INSERT, UPDATE, DELETE)
Data selection (SELECT, subqueries, cursors, relations, indexes)
SQL injection
Object-Oriented Programming:
Operator overload
Enumeration - enum
Dataclasses - dataclasses
Quality assurance, logging and debugging:
Unit tests, Test Driven Development (TDD) - doctest, unittest
Application logging and user warnings - logging, warnings
Working with debugger and refactoring tools in IDE
Computational complexity and profiling - timeit, cProfile
Static code analysis - sonarlint, pylint, pylama, pyflakes
Coding standards PEP8, PEP20 and good practices - pycodestyle, pydocstyle
Advanced printing and string formatting - print
Print formatting and object stringification - pprint, str, repr
Modules and packaging:
Virtual environment - venv
Package creation - pyproject.toml
Dependencies management - requirements.txt
pypi.org upload - twine, wheel
Package generation - zipapp
Executable generation - pyinstaller
Alternative compilers and interpreters - pypy
Standard library mathematics:
Mathematical functions - math
Statistical functions - statistics
Pseudo-random concept and functions - random
Fractions - fractions
Floating point numbers precision problem (IEEE 754) - decimal
Complex numbers - complex
Localization and internationalization:
Locale
i18n
l10n
Operating system:
Working with paths - pathlib
Configuration files parsing - configparser
Command line arguments parsing - argparse
Running operating system commands - subprocess
Temporary files - tempfile
Working with operating system, files and directories - os