我正在努力制作和使用Python类

时间:2013-05-29 14:03:38

标签: python python-2.7

有人可以向我解释为什么下面的代码什么都没打印出来?

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结构。谁可以帮我这个事?

2 个答案:

答案 0 :(得分:0)

我已经修复了你的问题中的缩进(如果它原来是需要修复的话......)

试试这个:

self.deck = self.getDeck(deck)

以下内容将打印出您在deck函数中设置的__init__属性。

print playerDeck.deck

答案 1 :(得分:0)

您的代码中发生的事情是您为deck1.csv文件创建了类Deck的实例,并且由于init方法的自动调用,也调用了getDeck方法。但是,您现在没有使用该返回值。您的print语句仅打印出您创建的Deck实例。如果你想让课程不受影响,那就打电话给

print playerDeck.deck

会做一些有意义的事。