Python语法错误毫无意义

时间:2012-12-21 11:51:02

标签: python python-3.x

我刚刚写了一个简单的Python类来创建一个列表列表(这将是一个tic tac toe board),它给我一个语法错误。

我已经将语法与许多其他类进行了比较,所有这些类都有效,并且所有类都具有相同的语法(从我可以看到)。

这是Python 3.2。错误发生在代码的第二个冒号处,因此在构造函数声明之后(或者至少以红色突出显示)。

class Board:
    def__init__(self, N):
        """Create a list of lists that will represent my playing board"""
        self._N = N
        Brd = []
        for i in range(N):
            Brd = Brd + ['()','()','()']
        self._theBoard = Brd

    def drawBoard(N):
        """Draws the Board"""
        print(self._theBoard)

提前致谢

4 个答案:

答案 0 :(得分:10)

您错过了def__init__之间的空格:

def__init__(self, N):

将其添加到:

def __init__(self, N):

请注意,您的drawBoard(N)方法缺少self参数;在调用时,N将被设置为实例。

答案 1 :(得分:5)

我猜您的drawBoard类是Board的一种方法,在这种情况下,您需要明确地将self传递给它:

def drawBoard(self, N):
    """Draws the Board"""
    print(self._theBoard)

它应该以与其他方法相同的方式缩进。请注意,N参数在这里没用。

其他人已在def方法定义中__init__之后指出缺少空格。

答案 2 :(得分:3)

你忘了在这里留一个空间:

def__init__(self, N):

应该是

def __init__(self, N):

答案 3 :(得分:0)

__init__是在python中定义构造函数的方法。您必须在它前面加def来声明它是一个函数。因此,正确的方法是:

def __init__():

这是def和 init 之间的空格。