Description
Python è un linguaggio interpretato con efficaci strumenti di introspezione, fino a permetterci di accedere al suo bytecode e vedere cosa la virtual machine sta per eseguire. Per quanto questa esigenza sia solitamente molto limitata in ambito di produzione ed uso del software può venirci utile all’interno delle test suite per verificare che il codice scritto da terzi o dal noi stessi del domani rispetti ancora dei protocolli o delle best practices che avevamo presupposto.
La maggior parte di queste esigenze possono essere soddisfatte anche tramite l’uso di metaclassi o monkeypatching, ma in alcuni casi è possibile saltare i check preposti involontariamente (ad esempio ereditando dalla classe sbagliata nel caso delle metaclassi), mentre la verifica del byte code ci consente di controllare cosa effettivamente sarà eseguito, non cosa ci aspettiamo sia eseguito.