Python 3 - Classi - 10

# Sovrapposizione degli operatori

- In Python è implementata una rudimentale forma di sovrapposizione degli operatori
- Quanto noi eseguiamo operazioni tra istanze di classe vengono invocati dei metodi particolari, chiamati magic methods
- Sono facilmente riconoscibili perché il loro nome è sempre racchiuso tra __ e __, come __init__ e __del__
- Ad esempio, se vogliamo implementare i confronti tra classi possiamo implementare il metodo __cmp__(self,other), che ritornerà un valore intero come strcmp()
- Esistono altre magic funzion per implementare i singoli tipi di confronto, se necessario
- È anche possibile ridefinire le operazioni matematiche con __add__ __sub__ __mul__ __div__ ecc...
- È possibile anche emulare una lista o implementare un rudimentale sistema di incapsulamento degli attributi, tramite le magic function
- Documentazione sulle magic function si può trovare in questo PDF: http://www.rafekettler.com/magicmethods.pdf

© Ing. Stefano Salvi - released under FDL licence