New to python, trying to create a card deck and want to implement a printing method for print(deck) => that gives a printed list of my cards.
My class PlayingCard has a str method which works fine to print a single card.
But when I create my Deck.cards object (which is a list of PlayingCard objects), I can't seem to print all the cards at once.
Tried replacing str with repr. Tried returning a list of strings in str
from enum import Enum
class Value(Enum):
    Two = 2
    Three = 3
    Four = 4
    Five = 5 
    Six = 6
    Seven = 7
    Eight = 8
    Nine = 9
    Ten = 10
    Jack = 11
    Queen = 12
    King = 13 
    Ace = 14
class Suit(Enum):
    Spades = 1
    Hearts = 2
    Clubs = 3
    Diamonds = 4
class PlayingCard():
    def __init__(self,value,suit):
        self.value = value
        self.suit = suit
    def __str__(self):
        return '{} of {}'.format(Value(self.value).name, Suit(self.suit).name)
class Deck():
    def __init__(self):
        self.cards=[PlayingCard(val,suit) for val in Value for suit in Suit]
    def __str__(self):
        return str(self.cards)
deck = Deck()
print(deck)
Returns
[<__main__.PlayingCard object at 0x000001875FEC0080>,
<__main__.PlayingCard object at 0x000001875FE9EE48>,
....
....
]
 
     
     
    