Edocti
Training tehnic avansat pentru inginerul software de mâine
Edocti Training

Advanced Python Topics (Python 3)

Avansat
21 h
4.7 (522 recenzii)
Advanced Python Topics (Python 3)

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