Python ofrece un excelente soporte para la programación orientada a objetos (POO). En este post voy a explicar cómo definir el constructor de una clase en Python.

A diferencia de otros lenguajes como Java, el constructor de las clases de Python se define como la función __init__ dentro de la definición de la clase.

Definición de una clase en Python

Para definir una clase la sintaxis es:

class NombreDeClase():

Dentro de la clase podemos definir propiedades de la misma.

Para definir funciones o métodos de la clase definimos funciones dentro de la misma con def. El primer argumento que reciben todas las funciones son self, que es el this en otros lenguajes.

Si queremos instanciar una clase no usamos new, sino que llamamos a la clase como si fuera un método, pasándole los argumentos que se definen en __init__.

Constructor de una clase con Python

A continuación se presenta una clase con propiedades, un constructor y una función. El ejemplo es suficiente para ilustrar los constructores en Python:

Si definimos un método dentro de la clase y vamos a referirnos a la instancia creada recibimos como primer argumento a self.

Al llamar al método de la clase no le pasamos self, pues solo se indica que se recibe pero la clase “se encarga de pasárselo” si lo queremos ver así.

Se pueden crear más métodos, pero recuerda: el argumento self no se pasa explícitamente al llamar al método, solo se indica que se recibe en la definición del método dentro de la clase.

Relacionado:  Ejemplos e introducción a los objetos y clases en Go

También recuerda otra cosa: self no es obligatorio, pero si defines un método sin self no podrás llamarlo desde una instancia de una clase, sino desde la clase misma (como las llamadas estáticas).

Por ejemplo, una llamada sin self sería así:

Mascota.metodo()

Ahí llamas al método sin instanciar la clase.

Apoya al sitio

¿Mi artículo te ha resultado útil? haz una donación. También pudes suscribirte a mi boletín semanal en la parte de abajo

Suscribir por correo

Ingresa tu correo y recibirás mis últimas entradas sobre programación, open source, bases de datos y todo lo relacionado con informática

Únete a otros 332 suscriptores


parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

1 Comment

Determinar tipo de variable en Python - Parzibyte's blog · julio 2, 2019 a las 12:07 pm

[…] En el ejemplo comprobamos si es una instancia de Mascota (mira más sobre los constructores y clases en Python en este post) […]

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

A %d blogueros les gusta esto: