I'm having a bash at OOP. Here is my code.

```
class Cards:

    Suit = ['C','S','H','D']
    Rank = list(range(1,11)) + ['K','Q','J']

    def __init__(self,Suit,Rank):
        self.suit = Suit
        self.rank = Rank

    def __str__(self):
        card = '[SUIT: %s, RANK: %s]' % (self.suit, self.rank)
        return card

class Deck(Cards):

    def Show():
        return [Cards(i,j) for i in Cards.Suit for j in Cards.Rank]

```

I'd like to know why the return statement for the Show attribute in Deck is returning a list like this....

```
[<__main__.Cards object at 0x10592bc88>, <__main__.Cards object at 0x10592bcc0>,....]

```

I have had a look in my textbook, cant seem to find anything. Also done a google search, in fact, i'm not actually sure what i am looking for.