Uso de la función __init__ en Python

Uso de la función __init__ en Python
Python admite la programación estructurada y orientada a objetos. La clase y el objeto se utilizan para implementar la programación orientada a objetos. La clase define las propiedades del objeto. El método del constructor se utiliza en la programación orientada a objetos para declarar, inicializar y manipular el objeto, y este método se llama automáticamente cuando se crea un objeto de la clase. El __en eso__() La función funciona como el método del constructor en Python y se declara dentro de la clase.

Sintaxis:

La sintaxis de la función __init __ () se da a continuación.

__init __ (self, [argumentos])

El primer argumento de la función se usa para referirse al objeto actual de la clase. Los otros argumentos de esta función son opcionales. Se pueden usar cero o más argumentos después del primer argumento para inicializar las variables de clase. Diferentes usos de la función __init __ () han estado en la siguiente parte del tutorial.

Ejemplo-1: uso de un constructor sin ningún argumento

Cree un archivo de Python con el siguiente script para definir un método de constructor sin ningún argumento utilizando __init __ () Función. Esta función se llamará cuando se creará el objeto de la TestClass.

#Declare una clase con constructor sin parámetros
Clase TestClass:
#Método del constructor Declare
def __init __ (self):
#Imprima un mensaje simple
imprimir ('se ha llamado al método del constructor.')
#Cree objeto de la clase
objeto = testClass ()

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. La función __init __ () se ha llamado cuando se creó el objeto de la clase, y el mensaje de la función __init __ (), 'se ha llamado al método del constructor.'ha sido impreso.

Ejemplo-2: uso de un constructor con argumentos

Cree un archivo Python con el siguiente script para definir un método de constructor con un argumento utilizando la función __init __ (). Se han creado dos objetos para el Clase de prueba clase en el guión. Entonces, la función __init __ () se llamará dos veces e inicializará la nombre variable con el valor pasado a la función en el momento de la creación de objetos.

#Declare una clase con un constructor parametrizado
Clase TestClass:
#Método del constructor de Declare con un argumento
def __init __ (self, nombre):
#Imprima un mensaje simple
imprimir ('se ha llamado al método del constructor.')
#Inicializó la variable de clase
ser.nombre = nombre
#Cree objeto de la clase
Object1 = TestClass ('Mir Abbas')
Imprimir ('Bienvenido', Object1.nombre)
#Cree otro objeto de la clase
Object2 = TestClass ('Nila Chowdhury')
Imprimir ('Bienvenido', Object1.nombre)
Imprimir ('Bienvenido', Object2.nombre)

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. El primer objeto se ha creado con el valor, 'Mir Abbas', y el segundo objeto se ha creado con el valor, 'Nila Chowdhury'. La salida muestra que el segundo objeto crea un clon del primer objeto. Entonces, el valor de la propiedad del primer objeto no sobrescribió por el segundo objeto.

Ejemplo-3: uso de un constructor con otro método

Cree un archivo de Python con el siguiente script donde se ha declarado un método de constructor con el otro método. Aquí, la función __init __ () tomará dos valores de argumentos en el momento de la creación de objetos que se utilizará para inicializar dos variables de clase, y se llamará a otro método de clase para imprimir los valores de las variables de clase.

#Declare una clase con constructor parametrizado
Clase TestClass:
#Método del constructor de Declare con un argumento
def __init __ (self, nombre, profesión):
#Imprima un mensaje simple
imprimir ('se ha llamado al método del constructor.')
#Inicializó las variables de clase
ser.nombre = nombre
ser.profesión = profesión
#Call otro método
ser.display_info ()
#Define otro método de la clase
Def display_info (self):
Imprimir ("La profesión de", Self.nombre, "es", yo.profesión)
#Cree objeto de la clase
Object = testClass ('Kabir Hossain', 'CEO')

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. Se han inicializado dos variables de clase con los valores, 'Kabir Hossain' y 'CEO' En el momento de la creación de objetos y estos valores se han impreso.

Ejemplo-4: uso de un constructor con herencia

Cree un archivo de Python con el siguiente script donde se ha implementado un método de constructor con la característica de la herencia. La función __init __ () se ha definido tanto para la clase madre como para la clase infantil aquí. El método display () se ha definido también para las clases de padres e hijos. La función __init __ () de la clase principal tiene un argumento y la clase infantil tiene tres argumentos.

#Declare la clase matriz
clase parentClass:
def __init __ (self, nombre):
imprimir ("Se ha llamado al constructor matriz.\norte")
ser.nombre = nombre
DEF DISPLAY (Self):
Imprimir ("Nombre:", Self.nombre)
#Declare la clase infantil
Clase ChildClass (ParentClass):
def __init __ (self, nombre, post, salario):
#Constructor de la clase madre
Clase matriz.__init __ (yo mismo, nombre)
imprimir ("Se ha llamado al constructor infantil.\norte")
ser.post = post
ser.salario = salario
DEF DISPLAY (Self):
Imprimir ("Nombre:", Self.nombre)
Imprimir ("Publicar:", Self.correo)
Imprimir ("Salario:", Self.salario)
#Cree el objeto de la clase principal
Object1 = ParentClass ("Tanvir Hossain")
objeto1.mostrar()
#Cree objeto de la clase infantil
Object2 = ChildClass ("Farheen Hasan", 'CEO', 700000)
objeto2.mostrar()

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior.

Ejemplo-5: uso de un constructor con herencia múltiple

Cree un archivo de Python con el siguiente script donde se ha creado la clase infantil a partir de dos clases de padres y el __en eso__() la función se ha definido para estas tres clases. La clase infantil tiene otro método nombrado mostrar(), para imprimir los valores de las variables de clase.

#Declare la clase matriz
Clase ParentClass1:
def __init __ (self, nombre, correo electrónico, contact_no):
imprimir ("Se ha llamado al constructor matriz.")
ser.nombre = nombre
ser.correo electrónico = correo electrónico
ser.contact_no = contact_no
#Declare la clase matriz
Clase ParentClass2:
def __init __ (self, departamento, post):
Imprimir ("Se ha llamado a otro constructor de padres.")
ser.Departamento = Departamento
ser.post = post
#Declare la clase infantil
Clase ChildClass (ParentClass1, ParentClass2):
def __init __ (self, nombre, correo electrónico, contact_no, departamento, publicación, salario):
#Constructor de la clase madre
Class1 de matriz1.__init __ (self, nombre, correo electrónico, contact_no)
# Llame al constructor de otra clase principal
Class2 parent2.__init __ (self, departamento, post)
imprimir ("Se ha llamado al constructor infantil.\norte")
ser.salario = salario
DEF DISPLAY (Self):
Imprimir ("Nombre:", Self.nombre)
imprimir ("correo electrónico:", self.correo electrónico)
Imprimir ("Contacto no:", Self.Contact_no)
Imprimir ("Departamento:", Self.departamento)
Imprimir ("Publicar:", Self.correo)
Imprimir ("Salario:", Self.salario)
#Cree objeto de la clase infantil
Object = ChildClass ('Farhan Akter', '[email protected] ',' 8801937894567 ',' hr ',' gerente ', 500000)
#Call el método de visualización
objeto.mostrar()

Producción:


La siguiente salida aparecerá después de ejecutar el script anterior.

Conclusión

Las formas de usar la función __init __ () en Python se han mostrado en este tutorial utilizando ejemplos simples para ayudar a los usuarios de Python a conocer los propósitos de usar esta función correctamente.