Python - magiczne metody
Magiczne metody instancji
def __init__ (self): pass # Konstruktor - funkcja wywoływana przy tworzeniu obiektu danej klasy `obiekt = klasa()`
def __del__ (self): pass # Destruktor - funkcja wywoływana przy usuwaniu obiektu z pamięci `del obiekt`
def __call__ (self): pass # Funkcja wywoływana kiedy obiekt jest wywoływany jak funkcja `obiekt()`
Magiczne metody rzutowania typów
def __bool__ (self): pass #Funkcja wywoływana przy konwersji obiektu na `bool`
def __int__ (self): pass #Funkcja wywoływana przy konwersji obiektu na `int
def __float__ (self): pass #Funkcja wywoływana przy konwersji obiektu na `float`
def __complex__ (self): pass #Funkcja wywoływana przy konwersji obiektu na `complex`
def __str__ (self): pass #Funkcja wywoływana przy konwersji obiektu na `str`, także w funkcji `print()`
def __repr__ (self): pass #Funkcja wywoływana przy konwersji obiektu na `repr`- tekstową reprezentację obiektu
def __format__ (self): pass #Funkcja wywoływana kiedy obiekt jest argumentem funkcji, lub metody stringu `format()`
Magiczne metody iteracji
def __iter__ (self): pass #Funkcja wywoływana kiedy obiekt jest konwertowany na kontener, także w pętli`for`
def __getitem__ (self,key): pass #Funkcja wywoływana kiedy obiekt jest indeksowany lub wycinany - `obiekt[1]`
def __index__ (self): pass #Funkcja wywoływana kiedy obiekt jest używany jako indeks - `"qwe"[obiekt]`
def __len__ (self): pass #Funkcja wywoływana kiedy obiekt jest argumentem funkcji `len()`
def __next__ (Self): pass #Funkcja wywoływana kiedy obiekt jest argumentem funkcji `next()`
def __contains__(self, other) pass #Funkcja wywoływana kiedy obiekt jest lewym operandem dla `in`
Magiczne metody przeładowania operatorów
#arytmetyczne
def __add__ (self, other): pass #Funkcja wywoływana kiedy obiekt jest lewym operandem dla `+`
def __sub__ (self, other): pass #Funkcja wywoływana kiedy obiekt jest lewym operandem dla `-`
def __mul__ (self, other): pass #Funkcja wywoływana kiedy obiekt jest lewym operandem dla `*`
def __floordiv__ (self, other): pass #Funkcja wywoływana kiedy obiekt jest lewym operandem dla `//`
def __truediv__ (self, other): pass #Funkcja wywoływana kiedy obiekt jest lewym operandem dla `/`
def __mod__ (self, other): pass #Funkcja wywoływana kiedy obiekt jest lewym operandem dla `%`
def __pow__ (self, other): pass #Funkcja wywoływana kiedy obiekt jest lewym operandem dla `**`
#bitowe
def __or__ (self, other): pass #Funkcja wywoływana kiedy obiekt jest lewym operandem dla `|`
def __and__ (self, other): pass #Funkcja wywoływana kiedy obiekt jest lewym operandem dla `&`
def __xor__ (self, other): pass #Funkcja wywoływana kiedy obiekt jest lewym operandem dla `^`
def __rshift__ (self, other): pass #Funkcja wywoływana kiedy obiekt jest lewym operandem dla `>>`
def __lshift__ (self, other): pass #Funkcja wywoływana kiedy obiekt jest lewym operandem dla `<<`
#porównania
def __eq__ (self, other): pass #Funkcja wywoływana kiedy obiekt jest lewym operandem dla `==`
def __ne__ (self, other): pass #Funkcja wywoływana kiedy obiekt jest lewym operandem dla `!=`
def __lt__ (self, other): pass #Funkcja wywoływana kiedy obiekt jest lewym operandem dla `<`
def __gt__ (self, other): pass #Funkcja wywoływana kiedy obiekt jest lewym operandem dla `>`
def __le__ (self, other): pass #Funkcja wywoływana kiedy obiekt jest lewym operandem dla `<=`
def __ge__ (self, other): pass #Funkcja wywoływana kiedy obiekt jest lewym operandem dla `>=`
# Powyższe metody operatorów mają swoje odpowiedniki prawostronne, np `__add__`: `__radd__`, `__sub__`:`__rsub__`
# Wywaływane są gdy obiekt jest prawym operandem, a lewy operand nie ma odpowiedniej metody
Magiczne metody matematyczne
def __abs__ (self): pass #Funkcja wywoływana kiedy obiekt jest argumentem funkcji `abs()`
def __ceil__ (self): pass #Funkcja wywoływana kiedy obiekt jest argumentem funkcji `math.ceil()`
def __floor__ (self): pass #Funkcja wywoływana kiedy obiekt jest argumentem funkcji `math.floor()`
def __trunc__ (self): pass #Funkcja wywoływana kiedy obiekt jest argumentem funkcji `math.trunc()`