APRENDE PYTHON YA! Libro: Los pilares de Python. #18— Introducción a clases

Ruben Ruiz
AI experiments en Español
3 min readAug 11, 2018

“Un amigo de todos es un amigo de nadie”.-Aristóteles.

Con lo visto hasta ahora podríamos hacer prácticamente el 95% de lo que queramos con Python. Sin embargo, en ciertas ocasiones es mejor utilizar otro paradigma.

¿Qué es un paradigma en un lenguaje de programación? Con nuestras palabras un paradigma no es otra cosa que una forma de pensar. Es decir, en ciertos idiomas como por ejemplo el japonés se utilizan unas expresiones verbales diferentes si hablamos con alguien de mayor a edad. A pesar de que el lenguaje en sí mismo, como la idea sean los mismos en ciertos casos es mejor utilizar la forma respetuosa.

“A person's hands crafting pottery on a spinning wheel” by Jared Sluyter on Unsplash

Pues los paradigmas en programación son parecidos a dicho ejemplo, son distintas formas de pensar y resolver el mismo problema y en algunos casos concretos pueden ser más beneficiosos. La programación orientada a objetos es muy utilizada cuando tenemos “cosas” que son parecidas entre sí, pero tienen que tratarse de forma diferente. Por ejemplo, la POO es muy utilizada en videojuegos ya que podemos tener en pantalla un ejército de esqueletos que comparten características en común unos de otros, pero necesitamos que cada uno tenga su propia salud.

Otro ejemplo, son los botones de una página web o aplicación. Dichos botones, pueden compartir características como tamaño, animaciones. Sin embargo, cuando haces clic en cada uno pueden ocurrir acciones diferentes.

Después de esta introducción del concepto de programación vamos a ver cómo crear una clase sencilla.

Debido a que la POO es algo diferente a lo que hemos visto hasta ahora, hay que cambiar ligeramente la forma de pensar. Vamos a introducir cuatro conceptos importantes:

Las clases son como los moldes.

Las instacias son los distintos esqueletos o los botones.

El parámetro self, es un parámetro especial el cual utilizaremos a la hora de construir la clase.

La función __init__ la cual sirve para construir la clase y darle los atributos (vida, nivel de ataque, nivel de defensa)

Veamos un ejemplo:

#1. Creation classclass skeleton(): 
def __init__(self,life=5,attack=1,defence=2):
self.life=life
self.attack=attack
self.defence=defence
def scream(self):
print ("I m a Skeleton !")

#2. Creating the skeletons using the class above
ske1=skeleton(10,2,2)
ske2=skeleton(8,2,3)
ske3=skeleton(6,3,1)
ske4=skeleton(12,5,4)
print (ske3.scream())

Como podemos ver esta forma de programar es de forma conceptual diferente a como lo habíamos hecho hasta ahora. Sin embargo, tenemos que pensar que el uso de clases a pesar de que está muy extendido en Python simplemente responden a un problema en concreto y que se reduce a la reutilidad de código.

Esto es sólo la punta del iceberg de las clases las cuales pueden llegar a hacer en pocas líneas cosas muy complejas. Sin embargo, lo más importante será conocer y empezar a jugar con las herramientas vistas hasta ahora (a excepción de la POO) con ejercicios prácticos. Te invito al siguiente capítulo donde hablaremos de que es lo siguiente.

— — — — — — — — — — — — — — The End — — — — — — — — — — — — —

Si te gusta esta pequeña y gratuita revista puedes ayudar simplemente compartiéndola o suscribiéndote a la revista. Soy Rubén Ruiz, trabajo en la industria financiera en Inteligencia Artificial. Como proyecto personal llevo esta pequeña revista donde experimentamos con Inteligencia Artificial…

Puedes también seguirme en:

Instagram (Vida personal, es divertido) => @rubenruiz_t

Youtube (Canal sobre IA, intento que sea divertido )=> Rubén Ruiz A.I

Github (Donde subo mi código, esto ya no es tan divertido) => RubenRuizT

--

--