Clases y Objetos con Python

Luis Alonso
3 min readSep 14, 2021

--

Fundamentos básicos de clases y objetos.

Una clase es como una plantilla o un plano, a partir de este plano podemos construir cosas, en este caso podemos construir objetos.

En el ejemplo podemos ver la clase Persona (Plantilla o Plano), del cual empezaremos a construir objetos. Los objetos construidos para este ejemplo son brasileño y mexicano.

Toda clase tiene atributos y métodos, un método importante para toda clase es el método __init__ o conocido también como constructor en otros lenguajes.

El método constructor es importante porque al momento de crear la instancia de una clase, estos atributos que declaramos para la clase persona se inicializan o toman un valor que nosotros queramos asignarle. En otras palabras la misión del método __init__ o el constructor es, inicializar un objeto de una clase.

En el siguiente diagrama podemos ver como funciona internamente lo explicado anteriormente. Todos los métodos de una clase llevan por convención el parámetro self, podría ser otra palabra pero por convención python utiliza self, en JavaScript se utiliza this, self nos servirá para hacer referencia al objeto que está en ejecución en ese momento.

Podemos observar que se crean dos objetos o dos instancias de la clase Persona, brasileño y mexicano son los dos objetos creados y cada uno tiene sus propios atributos.

Para crear un objeto basta con asignar a una variable la clase Persona, pasando los respectivos argumentos.

Y para acceder a los atributos o métodos de un objeto se realiza con el punto (.)

Definiendo métodos en una clase

En el siguiente código definimos un método que se llama parimpar, nótese que en el método siempre recibimos self y es el único parámetro para este método. En dado caso que necesitemos pasar parámetros, se definen después del parámetro self.

En el siguiente grafico podemos observar la clase OperacionMatematica con un constructor donde definimos el parámetro número, también tenemos un método que se llama parimpar.

Uso de *args y **kwargs

En la siguiente clase vamos a notar varios puntos importantes.

a) Los atributos de nuestra clase no tienen que llamarse igual que nuestros parámetros.

b) Después de la palabra this va el nombre de nuestros atributos this.trofeos

c) Los parámetros que tienen * y ** son opcionales, has visto alguna vez *args y **kwargs, pues son exactamente lo mismo en este ejemplo.

*eq recibe los parámetros como una tupla.

**t recibe los parámetros como un diccionario.

En la siguiente imagen podemos ver el resultado.

  1. Para el objetos cr7, en ningún momento le pasamos los argumentos eq y t.
  2. Para el objeto messi no pasamos el argumento t.
  3. para el objeto orbelin, pasamos todos los argumentos.

En conclusión *args y **kwarg son parámetros opcionales, pueden llegar a ser muy utilices en algún momento, ahora solo te toca poner en practica el ejemplo y ver en que parte de un proyecto de la vida real puedes usar este ejemplo.

--

--

Luis Alonso
Luis Alonso

Written by Luis Alonso

0 Followers

Desarrollador web

No responses yet