Python初学者问题:test_func没有定义?

2024-10-04 01:22:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我只是对一个学习Python的小初学者项目有点意见。我试图从一个类中调用一个“test_func”,但运气不好,从另一个文件调用它会告诉我这个类没有这样的模块,显然在类中直接调用它会告诉我它还没有定义

在Sublime上,我尝试确保所有缩进都从制表符更改为空格,但我仍然遇到这个错误。我一定是在某个地方犯了一个愚蠢的错误(我假设我在init方法上犯了一两个错误,但我希望在我整理好这个之后再整理一下),我只是希望有人能为我指出这一点?谢谢

import Card

cardCount = 0
suitCount = 0

class Deck():
    def __init__(self):

        self.deck = []

        while suitCount <= 4:
            while cardCount <= 13:
                self.deck.add(Card(cardCount,suitCount))
                cardCount += 1
                continue
            suitCount += 1
            continue

    def read_deck(self):
        for card in self.deck:
            print(str(card))
    def test_func(self):
        print('Printing test func')

if __name__ == '__main__':
    test_func()

Tags: testselfinitdef错误card整理func
2条回答

您可以使用该类调用

Deck().test_func()

test_func()属于类组,未在该上下文之外定义。因此,为了调用该函数,您需要创建Deck()的实例:

deck = Deck()
deck.test_func()

如果您想在不首先创建类实例的情况下访问它,可以直接使用Deck.test_func()。或者,您也可以查看@classmethod@staticmethod装饰器,并仔细阅读一下

相关问题 更多 >