Python печатает адрес памяти вместо списка. Мой код:
import random
class Card:
def __init__(self, value, suit):
self.value = value
self.suit = suit
def show_card(self):
print(self.value, self.suit)
def get_value(self):
if self.value > 10:
return 10
return int(self.value)
class Deck:
def __init__(self):
self.cards = []
self.build()
def build(self):
for suit in ["♣", "♦", "♥", "♠"]:
for value in range(2, 15):
self.cards.append(Card(suit, value))
return self.cards
def shuffle_deck(self):
random.shuffle(self.cards)
return self.cards
Deck().build()
deck = Deck().shuffle_deck()
print(deck)
Проблема в том, что я добавляю объект "Карта" в список "карт". Как я могу печатать элементы списка «карт» вместо ячеек памяти?






Это может быть достигнуто с помощью __repr__ магического метода. Добавьте этот метод:
def __repr__(self):
return f'{self.value} {self.suit}'
в свой Card класс.
Просто добавьте функцию repr в класс карты
class Card:
# your implementation
def __repr__(self):
return f'({self.value},{self.suit})'