我在打印函数中的数组时遇到问题

时间:2019-06-16 05:50:06

标签: python

我正在尝试为我的学校项目制作一个tictactoe游戏。我正在使用pycharm,并在print_board函数内部以某种方式使用,我在电路板[0]下得到红线。似乎无法将板子元素放入函数中。如何在print_board函数内部打印板元素?

class tictactoe:

    board = [0, 1, 2,
             3, 4, 5,
             6, 7, 8]

    def print_board(self):
        print(board[0])

2 个答案:

答案 0 :(得分:1)

board类变量。将类名(我所做的事情)或self放在其前面以引用它。请参阅this以了解差异。

class tictactoe:

    # this variable is shared between all instances
    # of tictactoe
    board = [0, 1, 2,
         3, 4, 5,
         6, 7, 8]

    def print_board(self):
        print(tictactoe.board[0])


t = tictactoe()
t.print_board()

答案 1 :(得分:1)

您应该在类函数中使用self.board

class tictactoe:

    board = [0, 1, 2,
        3, 4, 5,
        6, 7, 8]

    def print_board(self):
        print(self.board[0])

tictactoe类中的print_board函数的父作用域是tictactoe类所在的地方,而不是tictactoe。