Hola, estoy intentando crear una baraja española en python y que me la muestre en pantalla. He creado dos clases para ello. Cuando intento mostrar el array de cartas que almacena objetos de tipo carta me muestra por pantalla las direcciones de memoria de dichos objetos, pero no los objetos en si. No se que estoy haciendo mal, os pego codigo:
class Carta:
def __init__(self,palo,valor):
self.palo=palo
self.valor=valor
def mostrarCarta(self):
print(str(self.palo) + str(self.valor))
class Mazo:
cartas=[]
triunfo=["Oros","Copas","Espadas","Bastos"]
valor=["As","Dos","Tres","Cuatro","Cinco","Seis","Siete","Sota","Caballo","Rey"]
for i in triunfo:
for j in valor:
cartas.append(Carta(i,j))
for carta in cartas:
print(carta)
Mazo()
Me autorespondo, cuando imprimo en la ultima linea de codigo, estoy imprimiendo la referencia al objeto. Para imprimir el objeto debo usar la funcion mostrarCarta():
for carta in cartas:
carta.MostrarCarta()