有人可以向我解释为什么下面的代码什么都没打印出来?
class Deck(object):
def __init__(self, deck):
self.deck = getDeck(deck)
def getDeck(deck):
with open(deck, "rU") as csvfile:
cardReader = csv.DictReader(csvfile, delimiter=',')
newDeck = []
for row in cardReader:
for x in range(int(row['NumberOfCards'])):
newDeck.append(row)
removedKeyDeck = []
for x in range(len(newDeck)):
r = dict(newDeck[x])
del r['NumberOfCards']
removedKeyDeck.append(r)
return removedKeyDeck
playerDeck = Deck('deck1.csv')
print playerDeck
我正在尝试从deck1.csv
文件创建一个套牌列表。我知道getDeck
函数有效,但我没有正确使用class
结构。谁可以帮我这个事?
答案 0 :(得分:0)
我已经修复了你的问题中的缩进(如果它原来是需要修复的话......)
试试这个:
self.deck = self.getDeck(deck)
以下内容将打印出您在deck
函数中设置的__init__
属性。
print playerDeck.deck
答案 1 :(得分:0)
您的代码中发生的事情是您为deck1.csv文件创建了类Deck的实例,并且由于init方法的自动调用,也调用了getDeck方法。但是,您现在没有使用该返回值。您的print语句仅打印出您创建的Deck实例。如果你想让课程不受影响,那就打电话给
print playerDeck.deck
会做一些有意义的事。