Python è uno dei linguaggi di programmazione più popolari al mondo , secondo l'indice TIOBE . Python è un linguaggio di livello superiore , i programmatori non devono gestire la memoria . Metodi magici di Python sono una parte un po 'oscuro di Python . Sono menzionati nella lingua di riferimento , ma non sono completamente documentate e disponibili per la consultazione in un unico luogo . Metodi magici di Python con il suo comportamento predefinito di essere sovrascritto dal programmatore . Questa può essere una funzione utile quando il comportamento predefinito di Python rende codifica ingombrante. Metodi magici possono anche essere pericolosi . La loro natura potente significa che possono causare risultati imprevisti . Metodi magici sono sempre circondati da doppia sottolineatura . Object Oriented Programming
Object Oriented Programming , o OOP , viste programmi come una società di interagire gli oggetti invece di una lista di istruzioni . Questo separa OOP dal tradizionale
programmazione imperativa in stile . Invece di consegnare il computer una lista di istruzioni da eseguire , i programmatori OOP definiscono "oggetti" e dei loro comportamenti . Programmatori OOP orchestrare questi oggetti per la produzione di programmi utili .
Classi e metodi
I principali programmatori OOP strumenti hanno a disposizione per la creazione di oggetti è la classe . La classe è un tipo speciale di oggetto il cui compito è quello di rendere gli altri oggetti . Le classi possono " ereditare " da altre classi o di copiare il loro comportamento. I "comportamenti" di una classe che i programmatori definiscono sono chiamati " metodi". Gli oggetti possono anche memorizzare i valori . Questi valori sono chiamati " variabili membro ".
" __call__ "
Un importante metodo magica è " __call__ ", che permette al programmatore di fare un atto oggetto come una semplice funzione . Questo può essere utile se l'oggetto in questione è concettualmente una funzione, ma l' implementazione è orientato agli oggetti. Per utilizzare il metodo magico " __call__ " , il metodo " __call__ " deve essere definito nella classe callable .
" __getattr__ "
Questo metodo magico permette al programmatore di sovrascrivono come si accede valori dei membri di una classe. Questo è un metodo magico molto versatile ed è utile per utilizzare la sintassi di Python orientato agli oggetti per accedere a parti di un "oggetto" che non sono orientato agli oggetti . Per esempio , questa funzione viene utilizzata in " Bella Soup ", una libreria di parsing del codice HTML . Il metodo " __getattr_ " permette agli utenti di " Bella Soup" di attraversare HTML utilizzando la sintassi OOP di Python .
" __setattr__ "
Questo metodo è meno comunemente usato di " __getattr__ ". Il metodo " __setattr__ " fornisce un modo per i programmatori di ignorare il comportamento predefinito per impostare le variabili membro . Questo metodo è particolarmente pericoloso . Esso non deve essere usato a casaccio , come si può fare per il codice illeggibile molto denso .