Python avansat în profunzime: stăpânești funcționalitățile moderne ale Python 3 pentru aplicații robuste.
Hands-on cu generatoare, corutine, typing, context managers și decoratori.
Aplici best practices în concurrency, design patterns și optimizare de performanță.
Dobândești experiență practică prin ~70% coding labs și exerciții de proiecte reale.
Cum te ajută: construiești sisteme Python fiabile și ușor de întreținut.
Cui i se adresează: conceput pentru persoane cu baze de Python care caută skill-uri avansate.
Include opțional: metaprogramare, framework-uri async și packaging.
Curriculum
Introducere
- Setup și primele linii de cod
- Sintaxa de bază în Python
- Diferențe Python 2 → 3 (scurt)
- Tipuri de date & mecanismul de typing (str/bytes/unicode, numere, secvențe)
- I/O de bază în Python
More I/O
- Lucru cu CSV, XML, JSON, PDF
- File locks; seeking; scrieri sigure (fișiere temporare) și patternuri simple de rollback
- Fișiere binare și serializare (struct, pickle); endianness și framing
- Elemente pathlib pentru fișiere & căi (inserție)
Programare funcțională practică în Python
- Funcții first-class; map/reduce/filter (atenții 2 vs 3)
- List/dict/set comprehensions; generator expressions
- Lambdas; closures; partial application
- Function annotations; scurte note despre type checking
- Iterators & itertools (inserție)
OOP practic în Python
- Clase/obiecte; moștenire & multiple inheritance
- Metode speciale; operator overloading; functors
- Decorators pentru metode și clase
- Intenția de ‘const-ness’; Abstract Base Classes
- Metaclasses (overview) și dataclasses (inserție)
- Descriptors & properties (inserție)
Subiecte diverse
- Generatoare, idei de imutabilitate, thunks
- Regular expressions
- Multi-threading: bazele concurenței & sincronizării; cozi și patternuri
- Networking: de la sockets la message systems
- Asyncio (overview, inserție): event loop, tasks vs. threads; când folosim fiecare
Environment setup
- pip, PyPI, virtualenv/venv; conda (unde se potrivește)
- setuptools și dependency pinning
- pyproject.toml (inserție): modern builds pe scurt
- Reproducibilitate: constraints/lock files (pe scurt)
Crearea de pachete & lucru cu biblioteci externe
- Publicarea propriei biblioteci; versionare și layout
- Împachetarea librăriilor native: ctypes/cffi, pybind11 (overview)
- Wheels și manylinux (overview)
Soluție ad‑hoc pentru o problemă definită de utilizator
- Slot dedicat (ex.: control dispozitive hardware, PoE, parsare telemetrie)
Module opționale
Opțional — Testing & quality (compact)
- pytest — fixtures și parametrizare
- mypy/typing hints; ruff/black; pre-commit (tur rapid)
Structura zilei de curs
- Part 1: 09:00–10:30
- Break: 10:30–10:45
- Part 2: 10:45–12:15
- Lunch break: 12:15–13:15
- Part 3: 13:15–15:15
- Break: 15:15–15:30
- Part 4: 15:30–17:30