En Python, el método que se llama cuando se crea un objeto a partir de una clase es el método __init__. Este método, también conocido como método de inicialización, sirve para definir las propiedades iniciales de un objeto.
En el mundo de la programación orientada a objetos, el proceso de crear un objeto desde una clase se conoce como instanciación. Cuando este proceso ocurre en Python, automáticamente se ejecuta el método __init__.
Veamos ahora un ejemplo práctico de cómo podría usarse __init__:
class Coche:
def __init__(self, color, marca):
self.color = color
self.marca = marca
mi_coche = Coche('rojo', 'Ferrari')
print(mi_coche.color) # imprime: rojo
print(mi_coche.marca) # imprime: Ferrari
En este ejemplo, Coche es la clase y mi_coche es un objeto de esa clase. El método __init__, cuando se llama con los argumentos 'rojo' y 'Ferrari', inicializa el objeto mi_coche con esas propiedades.
En Python, es una buena práctica definir el método __init__ para inicializar los atributos de un objeto. Esto es especialmente útil cuando se quieren establecer valores iniciales para las variables de objeto.
Es importante notar, sin embargo, que __init__ no es un constructor de la clase. Un constructor es una característica de algunos lenguajes de programación que crea e inicializa un objeto. Pero en Python, el constructor es en realidad el menos conocido método __new__, que es llamado antes que __init__. No obstante, __new__ es raramente necesitado en la programación de Python común, mientras que __init__ es mucho más comúnmente usado.
Para resumir, siempre que se crea una instancia de una clase en Python, el método __init__ es llamado. Permite configurar los atributos de la instancia y realizar cualquier otra configuración inicial necesaria. Es una herramienta esencial en la programación orientada a objetos en Python.