<p>正如我在评论中所说,我认为您应该在类<code>BoardHandler</code>的<em>方法</em>中生成这两个函数。这将为您提供更好的<a href="https://en.wikipedia.org/wiki/Encapsulation_(computer_programming)" rel="nofollow noreferrer">encapsulation</a>并且非常容易实现,以下是方法:</p>
<pre><code>class BoardHandler:
def __init__ (self, size, board):
self.size = size
self.board = board
def ask_size(self):
try:
self.size = int(input("Which size would you want?"))
except ValueError:
print("Wrong! try again")
ask_size()
def getNewBoard(self):
board=[]
for i in range(self.size):
board.append([' ']* self.size)
self.board = board
def resetBoard(self):
for x in range(self.size):
for y in range(self.size):
self.board[x][y] = ' '
n=int(size/2-1)
self.board[n][n] = 'B'
self.board[n+1][n] = 'W'
self.board[n][n+1] = 'W'
self.board[n+1][n+1] = 'B'
def drawBoard(self):
HLINE = ' '
for y in range(self.size):
print(y+1, end=' ')
for x in range(Q):
print('| %s' % (self.board[x][y]), end=' ')
print('|')
print(HLINE)
</code></pre>
<p>如果出于某种原因想将它们保留在类之外,则需要修改它们,以接受<code>BoardHandler</code>类实例作为参数:</p>
^{pr2}$
<p>这假设您的程序创建一个<code>BoardHandler</code>类实例,并对该对象执行所有操作。在</p>