有人能给我解释一下为什么下面的代码什么都不打印吗?
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结构。有人能在这方面帮我吗?
发布于 2013-05-29 22:07:55
我已经修复了你问题中的缩进(如果它最初是如何的,它需要修复...)
试试这个:
self.deck = self.getDeck(deck)下面将打印出您在__init__函数中设置的deck属性。
print playerDeck.deck发布于 2013-05-29 22:09:37
在您的代码中发生的事情是,您为deck1.csv文件创建了Deck类的一个实例,并且由于自动调用了init方法,所以也调用了getDeck方法。但是,您现在没有使用返回值。print语句仅打印出您创建的Deck实例。如果希望保持类的原样不变,则调用
print playerDeck.deck会做一些有意义的事情。
https://stackoverflow.com/questions/16816044
复制相似问题