如何在python中命名和创建类的多个实例?

问题描述 投票:2回答:1

我是编程和学习OOP的新手。我想创建一副扑克牌,所以我创建了一个名为Card的类,其中包含number属性和suit属性。然后我想创建一个包含该类的52个实例的列表来制作套牌。我也希望他们每个人都被命名为“2_spades”,“3_spades”,“4_spades”等,但显然不想手动完成。

当我使用for循环创建列表并打印列表时,它打印了实例的内存位置,这是可以理解的,因为我没有命名实例。所以我试图将str dunder方法添加到类中,该类返回实例的数字和套装。但它没有用。

class Card:
    def __init__(self, number, suit, trump='not the trump'):
        self.number = number
        self.suit = suit
        self.trump = trump

    def make_trump(self):
        self.trump = 'the trump'

    def remove_trump(self):
        self.trump = 'not the trump'

    def __str__(self):
        return f'{self.number} of {self.suit}'


suits = ['spades', 'hearts', 'clubs', 'diamonds']
deck = []
for Suit in suits:
    for i in range(13):
        deck.append(Card(i. Suit))

print(deck)

当我打印甲板时,它为每个人提供了记忆位置。

如何创建类卡的多个实例并通过number_suit或self.number_self.suit命名每个实例?

python python-3.x class instance
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.