Siguiendo con nuestra sección de ejercicios prácticos en programación, en este post te traemos los pasos para crear una clase de una carta en Python. Entendemos una carta como un objeto material o virtual que forma parte de una baraja de cartas; estas puede ser de tarot, una baraja española, francesa… Realmente, cualquier tipo de carta. Por lo tanto, si quieres seguir ejercitando tus habilidades en programación, a continuación te presentamos el proceso para crear una clase de una carta en Python.
Crear una clase en Python
Como hemos podido ver en un anterior post de KeepCoding sobre qué era una clase en Python, una clase se crea para construir un nuevo tipo de objetos, al que se le puede crear instancias. Una clase en Python se define con la siguiente instrucción: class NombredelaClase. Además, debe tener un constructor que la acompañe. De esta manera, podrás crear instancias a partir de la clase.
Ahora que recuerdas qué es una clase, te contaremos los pasos a seguir para construir clase de una carta en Python.
Pasos para crear una clase de una carta en Python
En primer lugar, importaremos una abstract property a nuestro programa:
from abc import abstractproperty
A continuación, es preciso establecer las propiedades que caracterizan las cartas. Primero, tienen un valor que puede ser numérico, un palo con el valor de string y, por otro lado, el símbolo, que puede ser un string o cadena.
🔴 ¿Quieres Aprender a Programar con Python? 🔴
Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada
👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semanavalor: numerico
palo: string
símbolo: string
Ahora que ya sabemos qué estamos buscando, podemos empezar a modelar la carta. Empezaremos definiendo el constructor de la carta:
def _ _init_ _ (self, v, p, s): #valor, palo, símbolo
self.validar_valor (v)
self.valor = v
self.palo = p
self.simbolo = s
Ahora, vamos a generar una representación de la carta con el método str, que sirve para crear una cadena. A este se le ingresa el propio objeto como parámetro inicial:
def _ _ str__ (self):
return “{} {}”. format (self.simbolo, self.palo)
Después, utilizaremos el método de representación, que concatenará el símbolo y el palo:
def _ _ repr _ _ (self):
return self.simbolo + self.palo
Para comparar cuál entre dos cartas diferentes es mayor, estableceremos las siguiente función, que utilizará el método eq. Aquí se ingresa el parámetro self y el otro, diferente. Devolverá la comparación si esta es igual.
def _ _ eq _ _ (self, otro):
return self.valor == otro.valor
En el caso de querer comparar y notar la desigualdad, utilizaremos el método ne:
def _ _ne_ _ (self, otro):
return self.valor != otro.valor
Para hacer comparaciones, teniendo en cuenta qué carta es mayor que otra, seguimos el método mágico gt expuesto a continuación:
def _ _ gt_ _ (self, otro):
return self.valor > otro.valor
Para hacer otro tipo de comparaciones, que sea mayor igual que otra carta, la instrucción sería con el método ge:
def _ _ ge_ _ (self, otro):
return self.valor >= otro.valor
Ahora, para hacer el menor que, deberás ingresar a tu código el método lt:
def _ _ lt_ _ (self, otro):
return self.valor < otro.valor
Para realizar el método de menor o igual que, deberás utilizar el método le:
def _ _ le_ _ (self, otro):
return self.valor <= otro.valor
Los siguientes son los lanzamientos de excepciones de la clase cartas, mientras hacemos validaciones específicas:
def validar_valor (self, valor):
#de esta manera validaremos que el valor debe ser un entero
if not isinstance (valor, int):
raise ValueError (“El valor de la carta debe ser número entero”)
#de esta manera validaremos que el valor debe ser un entero positivo
if valor < 0:
raise ValueError (“El valor debe ser un entero positivo”)
Recuerda que puedes ir probando tu programa de código con la opción del Unittest en Python. Si quieres saber más acerca de esta herramienta, visita nuestro post sobre qué es Unittest y para qué sirve.
Haz más ejercicios con Python
Ahora que has ejercitado tus habilidades en código con el ejercicio de cómo crear una clase de una carta en Python, estás más cerca de alcanzar la meta de convertirte en un experto en código y en lenguajes de programación. La clase es uno de los elementos fundamentales para programar, así que es necesario que perfecciones tu conocimiento sobre ella para dominar el sector IT.
Si quieres seguir practicando con más ejercicios en Python y, además, acompañados de la guía de un profesor experto en el tema, te recomendamos echarle un vistazo al programa de nuestro Aprende a Programar desde Cero Full Stack Jr. Bootcamp. ¡Apúntate y sigue practicando!