Edocti Training
Subiecte de Python Avansat
Sesiuni programate
Începe:
16.09.2026
, 3 zile
€ 400
Înscrie-te
Abilități dobândite
OOP Avansat & Metaclase
Generatoare & Corutine
Multithreading & Asyncio
Programare Funcțională
Decoratori & Context Managers
Type Hinting & MyPy
Optimizare Performanță
Împachetare Python
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
- Partea 1: 09:00–10:30
- Pauză: 10:30–10:45
- Partea 2: 10:45–12:15
- Pauză de prânz: 12:15–13:15
- Partea 3: 13:15–15:15
- Pauză: 15:15–15:30
- Partea 4: 15:30–17:30