logo

__init__ en Python

método __init__ en Python se utiliza para inicializar objetos de una clase. También se le llama constructor.

Para comprender completamente el concepto del método __init__, debes estar familiarizado con:

Requisitos previos – Clases y objetos de Python , Ser



¿Qué es __init__ en Python?

método __init__ es como el constructor predeterminado en C++ y Java . Los constructores se utilizan para inicializar el estado del objeto.

La tarea de los constructores es inicializar (asignar valores) a los miembros de datos de la clase cuando se crea un objeto de la clase.

Al igual que los métodos, un constructor también contiene una colección de declaraciones (es decir, instrucciones) que se ejecutan en el momento de la creación del objeto. Se ejecuta tan pronto como se crea una instancia de un objeto de una clase.

El método es útil para realizar cualquier inicialización que desee realizar con su objeto.

Python3


entidad relacional



# A Sample class with init method> class> Person:> ># init method or constructor> >def> __init__(>self>, name):> >self>.name>=> name> ># Sample Method> >def> say_hi(>self>):> >print>(>'Hello, my name is'>,>self>.name)> p>=> Person(>'Nikhil'>)> p.say_hi()>

>

>

Producción:

Hello, my name is Nikhil>

Entendiendo el código

En el ejemplo anterior, se crea una persona llamada Nikhil. Al crear una persona, se pasa Nikhil como argumento, este argumento se pasará al método __init__ para inicializar el objeto.

La palabra clave self representa la instancia de una clase y vincula los atributos con los argumentos dados. De manera similar, se pueden crear muchos objetos de la clase Persona pasando diferentes nombres como argumentos.

A continuación se muestra el ejemplo de __ init__ en Python con parámetros

Ejemplo de método __init__ en Python

Veamos algunos ejemplos del método __init__ en Python.

Python3




borrar caché npm
# A Sample class with init method> class> Person:> ># init method or constructor> >def> __init__(>self>, name):> >self>.name>=> name> ># Sample Method> >def> say_hi(>self>):> >print>(>'Hello, my name is'>,>self>.name)> # Creating different objects> p1>=> Person(>'Nikhil'>)> p2>=> Person(>'Abhinav'>)> p3>=> Person(>'Anshul'>)> p1.say_hi()> p2.say_hi()> p3.say_hi()>

>

>

Producción:

Hello, my name is Nikhil Hello, my name is Abhinav Hello, my name is Anshul>

Método __init__ con herencia

Herencia es la capacidad de una clase de derivar o heredar las propiedades de alguna otra clase. Consideremos el siguiente ejemplo para ver cómo funciona __init__ en herencia.

Python3

guardar videos de youtube vlc




# Python program to> # demonstrate init with> # inheritance> class> A(>object>):> >def> __init__(>self>, something):> >print>(>'A init called'>)> >self>.something>=> something> class> B(A):> >def> __init__(>self>, something):> ># Calling init of parent class> >A.__init__(>self>, something)> >print>(>'B init called'>)> >self>.something>=> something> obj>=> B(>'Something'>)>

>

>

Producción:

A init called B init called>

Entonces, primero se llama al constructor de la clase principal. Pero en Python, no es obligatorio que siempre se llame primero al constructor de la clase principal.

Se puede modificar el orden en el que se llama al método __init__ para una clase principal o secundaria. Esto se puede hacer simplemente llamando al constructor de la clase principal después del cuerpo del constructor de la clase secundaria.

Ejemplo:

Python3




procesamiento de piratería

# Python program to> # demonstrate init with> # inheritance> class> A(>object>):> >def> __init__(>self>, something):> >print>(>'A init called'>)> >self>.something>=> something> class> B(A):> >def> __init__(>self>, something):> >print>(>'B init called'>)> >self>.something>=> something> ># Calling init of parent class> >A.__init__(>self>, something)> obj>=> B(>'Something'>)>

>

>

Producción:

B init called A init called>

Leer : Herencia en Python

Hemos cubierto __init__ en Python, discutido cómo usar __init__ y también vimos algunos ejemplos del uso del método __init__ en Python.

El constructor es un concepto crucial en la programación orientada a objetos y el método __init__ es muy similar a los constructores.

Espero que este artículo te haya ayudado a aprender el método __init__ y que puedas utilizarlo en tus proyectos.

Artículo relacionado

  • ¿Es __init__() un método privado en Python?
  • ¿Cuál es la diferencia entre __init__ y __call__?
  • __nuevo__ en Python