我正在尝试为我的学校项目制作一个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])
答案 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。