1
Belangrijke herinneringen over taal
- Toewijzing door verwijzing en wijzigbare en niet-wijzigbare (muteerbare) gegevenstypen.
- Argumenten, standaardwaarden en lokale variabelen doorgeven.
- Klasse- en instantievariabelen.
- Geavanceerde slices en gegevensstructuren.
- Introspectie.
- Gevorderde elementen van controlestructuren: de anders-clausule in for-, while- en try/except-statements.
Praktisch werk
Optimalisatie: doorsnijding van lijsten en berekening van algoritmecomplexiteit.
2
Geavanceerde functies
- Geavanceerd gebruik van decoratoren (generatie tot consumptie, consumentenpijplijn).
- Decoratoren en ontwerppatronen.
- Sluiting.
Praktisch werk
Chaining van gegevensconsumenten. Abonneren op gebeurtenissen via decoratoren.
3
Geavanceerd objectgeoriënteerd programmeren
- Eigenschappen.
- Iteratoren.
- Het meervoudige erfgoed en zijn tekortkomingen.
- Contextmanagers.
- Abstracte klassen en methoden (ABC).
- Metaclasses.
Praktisch werk
Implementeer een metaklasse om singleton klassen te maken.
4
Inzet en kwaliteit
- Bibliotheken van derden installeren (pip, easy_install).
- De Python Package Index (PyPI).
- Inpakken van uw bibliotheken (distutils, setuptools).
- Een standalone omgeving implementeren (virtualenv en buildout).
Praktisch werk
Pak een bibliotheek in en upload deze naar PypI.
5
Parallellisme: de prestaties van uw programma's optimaliseren
- Profileer uw programma's met Timeit en cProfile.
- Parallellisatie: vermijd multithreading en ga voor multiprocessing.
- Berekening gedistribueerd met de Celery-bibliotheek.
Praktisch werk
Distributie en consolidatie (Map Reduce) van berekeningen met Celery.
6
Bibliotheken die bijdragen aan het succes van de taal
- Wetenschappelijk rekenen en statistiek met Numpy, Scipy, Matplotlib en Pandas.
- Kunstmatige intelligentie en leeralgoritmen met Scikit-Learn.
- Informatie zoeken in XML-bestanden met ElementTree.
- Netwerk: tcp-relais met Twisted en SNMP-supervisie met PySNMP.
Praktisch werk
Extractie van informatie uit XML logbestanden, filters en statistieken van de verzamelde gegevens en vervolgens grafische weergave van informatietrends.