首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我正在努力制作和使用Python类

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

Stack Overflow用户
提问于 2013-05-29 22:03:38
回答 2查看 156关注 0票数 0

有人能给我解释一下为什么下面的代码什么都不打印吗?

代码语言:javascript
复制
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结构。有人能在这方面帮我吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-29 22:07:55

我已经修复了你问题中的缩进(如果它最初是如何的,它需要修复...)

试试这个:

代码语言:javascript
复制
self.deck = self.getDeck(deck)

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

代码语言:javascript
复制
print playerDeck.deck
票数 0
EN

Stack Overflow用户

发布于 2013-05-29 22:09:37

在您的代码中发生的事情是,您为deck1.csv文件创建了Deck类的一个实例,并且由于自动调用了init方法,所以也调用了getDeck方法。但是,您现在没有使用返回值。print语句仅打印出您创建的Deck实例。如果希望保持类的原样不变,则调用

代码语言:javascript
复制
print playerDeck.deck

会做一些有意义的事情。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16816044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档