Python __floordiv__

"""
Magic method __floordiv__ 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 __floordiv__ method
"""

class Test:
    def __init__(self, x):
        self.x = x
    
    def __floordiv__(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 use floor division on 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 floor divide these two objects.
print(t // t2)	# 2 (5//2 is closest to 2), without __floordiv__ the object doesn't understand the "//" sign.

Sir Valecek Luis