python类构造函数

时间:2015-09-18 02:12:33

标签: python python-2.7 python-3.x

以下代码编译时没有任何错误:

class game:
    def __init__(self, filePath):
            self.gameState = readGame.readGameState(filePath)

但是当我将其修改为

class game:
    def __init__(self, filePath = None):
        if filePath is None:
            self.gameState = [[0 for x in range(7)] for x in range(7)]
        else:
            self.gameState = readGame.readGameState(filePath)

这里的目的是使用或不使用filePath调用类构造函数。该文件包含7x7矩阵,因此如果未传递filePath,我将使用空矩阵初始化游戏状态。但我得到IndentationError:期望一个缩进块。这里有什么根本错误的。我已经努力但无法调试它。

1 个答案:

答案 0 :(得分:1)

您在最后一行混合tabsspaces -

self.gameState = readGame.readGameState(filePath)

它显示它有前4个空格,然后是一个制表符,然后又有4个空格,而所有其他行只有spaces用于缩进。

你不应该混合标签和空格,我建议你一直使用空格来缩进这一行。