Say that if you had a class, and you defined it as:
class A:
pass
And when you use the function:
dir(A)
Which returns all the methods and attributes the class contains:
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']
My question is, what are methods with a double underscore before and after them such as __class__, __delattr__, __dict__, __init__, called? I've assumed they were called constructor, but after doing research - it seems that term only refers to the __init__ function. Does anyone know if there's a specific category to call these methods by?