Допустим, вы хотите собрать колоду из 52 игральных карт. У меня есть следующий класс Deck
в Python:
class Deck(collections.deque):
"""Creates a deck of 52 playing cards"""
def __init__(self) -> None:
super().__init__(
map(
Card,
itertools.product(
Suit.__members__.values(), Value.__members__.values()
),
)
)
Как видно, он наследуется от collections.deque
и полагается на три других класса, а именно Card
, Suit
и Value
. Это работает. Однако теперь я хотел бы создать другой класс с именем Decks
, содержащий k колод, в зависимости от ввода пользователя. Я просто не могу понять, как правильно создать экземпляр этого класса. Что такое Pythoni c способ создания экземпляра Decks
, который либо содержит k Deck
объектов, либо 52 * k Card
объектов?
edit: Deck
содержит несколько методов, таких как shuffle()
и deal()
. Я хотел бы получить доступ к этим методам из Decks
, чтобы я мог перетасовать все k колоды сразу или раздать одну из 52 * k карт без записи logi c в разобраться с несколькими изолированными объектами (для раздачи 53-й карты потребуется раздача 1-й карты из колоды 2 и т. д. c.).
.