Predefinovanie operátorov
Operátory v pythone môžeme predefinovať. To znamená používať operátory, napr. +,-,/, and,< atď. s našimi triedami.
Príklad:
class C(object):
def __init__(self, h1, h2): # trieda bude obsahovať 2 hodnoty: hodnota1, hodnota2
self.hodnota1=h1
self.hodnota2=h2
def __add__(self, inyObjekt): # tu predefinujeme operátor + ,tak aby sa sčítali obe hodnoty
self.hodnota1+=inyObjekt.hodnota1
self.hodnota2+=inyObjekt.hodnota2
return self
a=C(1,2) # vytvoríme prvý objekt
b=C(2,3) # vytvoríme druhý objekt
a=a+b # k prvemu pričítame druhý, tu sa už použije náš predefinovaný operátor
print a.hodnota1, a.hodnota2 # vypise : 3 5
Operátory a ich slovné ekvivalenty :
Najznámejšie:
+ __add__- __sub__* __mul__/ __div__< __le__> __gt__== __eq__
ostatné operátory: http://docs.python.org/lib/module-operator.html