gpt4 book ai didi

python - 对象列表上的 __str__ 方法

转载 作者:太空狗 更新时间:2023-10-29 21:51:17 26 4
gpt4 key购买 nike

<分区>

python 的新手,试图创建一个卡片组并想为 print(deck) => 实现一个打印方法,它给出了我的卡片的打印列表。

我的 PlayingCard 类有一个 str 方法,可以很好地打印一张卡片。

但是当我创建 Deck.cards 对象(它是 PlayingCard 对象的列表)时,我似乎无法一次打印所有纸牌。

尝试用 repr 替换 str。尝试返回 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)

返回

[<__main__.PlayingCard object at 0x000001875FEC0080>,
<__main__.PlayingCard object at 0x000001875FE9EE48>,
....
....
]

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com