"""
Magic method __truediv__ is called when a "/" is used on any object.
Given example shows what I mean: print(some_object / other_object)
This may give error often, so that means given objects don't have __truediv__ method
"""
class Test:
def __init__(self, x):
self.x = x
def __truediv__(self, other):
"""
self represents the object that is first and other is object after
"/" sign. What I say here is that I expect to have attribute "x"
in both objects and I will try to divide them. This SHOULD BE
used for objects of the same type.
"""
return self.x / other.x
t = Test(5)
t2 = Test(2) # Now I can divide these two objects.
print(t / t2) # 2.5, without __truediv__ the object doesn't understand the "/" sign.