如何解决类没有定义的属性
我是一个完整的初学者,正在尝试用 Python 对一副纸牌进行建模。我一直收到一个属性错误,说“甲板对象没有属性‘卡片’。在我看来,Deck 类在 init 函数中被赋予了属性。 在试图弄清楚并稍微修改我的代码以匹配教程中的代码后,在 youtube 上查找了一个教程,但我仍然收到此错误。我重读了书中关于课程的章节,但我终生无法弄清楚。 谢谢。
suits = 'Spades Diamonds Clubs Hearts'.split()
val = 'Ace',2,3,4,5,6,7,8,9,10,'Jack','Queen','King'
class Card:
def __init__(self,rank,suit):
self.rank = rank
self.suit = suit
def show_card(self):
print(f"{self.rank} of {self.suit.title()}")
class Deck:
def __init__(self):
self.build_deck()
self.cards = []
def build_deck(self):
for v in val:
for s in suits:
self.cards.append(Card(v,s))
return self.cards
d = Deck()
print(d.build_deck())
解决方法
您在定义 build_deck()
之前调用了 self.cards
。这是一个问题,因为 build_deck
试图 self.cards.append
。
def __init__(self):
self.build_deck()
self.cards = []
应该
def __init__(self):
self.cards = []
self.build_deck()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。