¿Qué es la clase de Python ‘__init__’?

En Python, el __init__() dentro de una clase es su constructor.

Cualquier método o variable que comience con un guión bajo doble es privado por defecto. Python define varios métodos privados estándar que tienen un significado especial, y __init__() es uno de ellos. Algunos otros son __str__() , __repr__() , __add__() y otros. Consulte la documentación de Python para ver la lista completa.

Editar: los lenguajes OOP permiten al programador definir una clase, que es un plan para crear objetos de ese tipo. Cada objeto de un tipo específico tiene el mismo conjunto de atributos y métodos. Es por eso que debe mencionar el nombre del objeto en nombre del cual debe invocarse un método. Así, a.f1() invoca el método f1() en nombre del objeto a mientras que b.f1() hace lo mismo en nombre del objeto b . La pregunta es cómo se indica esto en la definición de la clase, que es común a todos los objetos de esa clase. Por lo tanto, al definir un método como f1() , se escribe dentro del cuerpo de la clase como

clase my_class (objeto):
def __init (self, x, y):
self.x = x
self.y = y

def f2 (auto):
volver self.x + self.y

a = mi_clase (10, 20)
imprimir a.f2 ()

Este código imprime 30. En el constructor __init__() y el método f2() , el primer parámetro self es una referencia al objeto que luego invocará estos métodos en tiempo de ejecución. De hecho, dejar de lado self parámetro self en la definición hace que sea imposible llamarlo en nombre de un objeto.

En resumen, self es una referencia al objeto en nombre del cual más tarde se llamará al método en tiempo de ejecución.

El intérprete de Python utiliza el archivo “__init__.py” para crear la carpeta como módulo de Python, por ejemplo, tiene una carpeta con algunos archivos de Python que tienen algunas funciones o métodos útiles y ahora desea usarlos en otro proyecto o en algunos otro lugar o módulo, para eso debe importar el archivo de Python, pero si su carpeta no tiene “__init__.py”, entonces la excepción de lanzamiento de Python, a veces este archivo también realiza la tarea de configuración, en ese caso usted define cosas con self allí entonces, cualquier objeto que se importe se convierte en uno mismo y la configuración se realiza de acuerdo con esto.
Este es mi entendimiento si alguien tiene comentarios, edítelo. Espero que tengas un poco de sentido de lo que es.