As I have been told, placing a double underscore in front of a method makes it private in Python. Thus,
class Test:
    def __private_function(self):
        print("This function is private!")
    def public_function(self):
        print("This function is public!")
However, it seems like a variety of methods like "init" and "mro" among others, are completely public despite the double underscore in front of their names. In other words:
class Test:
    def __init__(self):
        print("This function is public!")
Why does this occur?
 
     
    