¿Qué es la sobrecarga de constructores en Python? con ejemplos
Publicado: 2023-01-29Python es un lenguaje de programación fácil de usar que los principiantes pueden dominar fácilmente. Este lenguaje de programación ofrece una amplia gama de soporte comunitario que ayuda a los programadores a explorar varias formas de implementar el código. Las bibliotecas estándar en Python y los módulos aportados por el foro de la comunidad han permitido infinitas posibilidades, incluido el desarrollo web e Internet, GUI de escritorio, acceso a bases de datos, educación, aplicaciones científicas y numéricas, programación en red, desarrollo de software y programas para desarrollar juegos. Este lenguaje de código abierto se desarrolla bajo licencia aprobada por OSI. Por lo tanto, se puede utilizar y distribuir de forma gratuita. Python Software Foundation administra la licencia de Python.
Tabla de contenido
Constructores en Python:
La función principal de un constructor de Python es instanciar los objetos. En el momento de la creación del objeto, a los miembros de datos de la clase se les asignan valores o se inicializan con la ayuda de constructores. La función _init_ es un constructor en Python. A menudo se llama cuando se crea un nuevo objeto.
La sintaxis para la declaración de un constructor es
Def _init_(auto):
# cuerpo del constructor
Hay dos tipos de constructores en Python. Son:
- Constructor predeterminado
- Constructor parametrizado
Constructor predeterminado:
Es un constructor simple y no acepta ningún parámetro de entrada. La definición de constructores predeterminados tiene solo un argumento que se refiere a la instancia que se está construyendo.
Constructor parametrizado:
Como lo indica el nombre, estos constructores tienen parámetros. El primer argumento de este tipo de constructores se refiere a la instancia que se construye y se le conoce como 'self'. Todos los demás argumentos requeridos son especificados por el programador como entradas.
Consulte los cursos de ciencia de datos de upGrad
Sobrecarga de constructores en Python:
La sobrecarga de construcciones se refiere a un escenario de incorporar más cantidad de constructores con una lista separada de parámetros, de modo que cada constructor se use para realizar diferentes tareas en el programa. Por ejemplo, hay cuatro tipos de constructores en la clase Vector.
Python no admite explícitamente múltiples constructores. Sin embargo, el uso de múltiples constructores en Python se puede lograr de varias maneras. Si un programador escribe varios métodos _init_ para la misma clase, la función _init_ escrita más recientemente sobrescribe todos los demás constructores.
¿Por qué se requieren múltiples constructores en Python?
Cuando el usuario tiene la necesidad de realizar diferentes acciones para instanciar una clase, aparece el requisito de múltiples constructores. Esto es útil cuando la clase debe realizar diferentes acciones en diferentes parámetros. Los constructores de clases en Python están estructurados para exhibir polimorfismo de tres maneras diferentes, como se indica a continuación:
- Sobrecarga de constructores basada en argumentos
- Invocando métodos _init_
- Uso del decorador @classmethod
Explore nuestros cursos populares de ciencia de datos
Programa Ejecutivo de Postgrado en Data Science del IIITB | Programa de Certificado Profesional en Ciencia de Datos para la Toma de Decisiones Empresariales | Maestría en Ciencias en Ciencia de Datos de la Universidad de Arizona |
Programa de Certificado Avanzado en Ciencia de Datos de IIITB | Programa de certificado profesional en ciencia de datos y análisis empresarial de la Universidad de Maryland | Cursos de ciencia de datos |
Lea nuestros populares artículos de ciencia de datos
Trayectoria profesional en ciencia de datos: una guía profesional completa | Crecimiento profesional en ciencia de datos: el futuro del trabajo ya está aquí | ¿Por qué es importante la ciencia de datos? 8 formas en que la ciencia de datos aporta valor al negocio |
Relevancia de la ciencia de datos para los gerentes | La última hoja de trucos de ciencia de datos que todo científico de datos debería tener | Las 6 razones principales por las que debería convertirse en científico de datos |
Un día en la vida del científico de datos: ¿Qué hacen? | Mito reventado: la ciencia de datos no necesita codificación | Business Intelligence vs Data Science: ¿Cuáles son las diferencias? |
Sobrecarga de constructores en Python basada en argumentos:
En este método, los constructores se sobrecargan al realizar la acción necesaria después de verificar las condiciones de los argumentos pasados. Consideremos un ejemplo de pasar un parámetro a la clase Sample.
- El cuadrado del número es la respuesta si el parámetro de entrada es un int.
- Si la longitud del parámetro es mayor que 1, la suma de los argumentos se muestra como la respuesta.
Métodos de llamada con _init_:
Cuando se crea una instancia de una clase, la clase puede tener un solo constructor _init_ que puede realizar cualquier tarea asignada. Este constructor se puede modificar para manejar diferentes funciones y realizar diferentes tareas según el parámetro que se pasa. Consideremos un ejemplo donde se realizan los siguientes cálculos.
- Si se pasan dos argumentos, la expresión se evalúa como x = a 2 – b 2
- Si se pasan tres argumentos, entonces la expresión evaluada es y = a 2 + b 2 – c
- Si el número de argumentos pasados supera los tres, sume los cuadrados de esos números y divida la suma por el argumento con el valor más alto.
Si desea obtener información detallada sobre la anulación de métodos en Python, le sugerimos que realice la Maestría en Ciencias en Ciencia de Datos de 18 meses . upGrad ofrece este curso de IIIT Bangalore y Liverpool John Moore's University. El curso le enseña habilidades como estadísticas, análisis predictivo con Python, aprendizaje automático, visualización de datos, análisis de big data y más. Los estudiantes con un sólido conocimiento de los conceptos de Python están bien posicionados para abordar temas como Deep Learning, Natural Language Processing, Business Analytics e Data Engineering.