Belangrijke herhalingen over de taal
- Assignment by reference en soorten wijzigbare, niet-wijzigbare (muteerbare) gegevens.
- Doorgeven van argumenten, standaardwaarden en lokale variabelen.
- Klasse- en instantievariabelen.
- Geavanceerde gegevensslices en -structuren.
- Introspectie.
- Geavanceerde elementen van de controlestructuren: de else-clausule van for-, while-, try/except-instructies.
Praktisch werk
Optimalisatie: kruising van lijsten en complexiteitberekening van algoritmes.
Geavanceerde functies
- Geavanceerd gebruik van decorators (van generatie tot consumptie, consumentenpipeline).
- Decorators en Design Patterns.
- Sluiting/closure.
Praktisch werk
Chaining van gegevensconsumenten. Abonnement op gebeurtenissen via decorators.
Geavanceerd Object-georiënteerd Programmeren
- Eigenschappen (property).
- Iteratoren.
- Meervoudige overerving en zijn gebreken.
- Context Managers.
- Abstracte klassen en methoden (ABC).
- Metaklassen.
Praktisch werk
Een metaklas implementeren om singleton-klassen te creëren.
Toepassing en kwaliteit
- Bibliotheken van derden installeren (pip, easy_install).
- De Python Package Index (PyPI).
- Het inpakken van bibliotheken (distutils, setuptools).
- Een autonome omgeving ontwikkelen (virtualenv en buildout).
Praktisch werk
Een bibliotheek inpakken en neerzetten op PyPI.
Parallellisme: de prestaties van uw programma's optimaliseren
- Profileer uw programma's met Timeit en cProfile.
- Parallellisatie: vermijd multithreading en ga voor multiprocessing.
- Distributed computing met de Celery-bibliotheek.
Praktisch werk
Verdeling en consolidatie (Map Reduce) van berekeningen met Celery.
Bibliotheken die bijdragen tot het succes van de taal
- Wetenschappelijke berekening en statistieken met Numpy, Scipy, Matplotlib en Pandas.
- Artificiële Intelligentie en leeralgorithmes met Scikit-Learn.
- Informatie zoeken in XML-bestanden met ElementTree.
- Netwerk: tcp relay met Twisted en SNMP-monitoring met PySNMP.
Praktisch werk
Extractie van informatie uit XML-logbestanden, filters en statistieken over de verzamelde gegevens en grafische weergave van de informatietrends.