Запись в переменную класса

Создал класс и метод

class Knight:
    def __init__(self, chess_board: list[list[bool]]):
        self.chess_board = chess_board

    def commandStepTo(self, x: int, y: int) -> bool:
        self.x = x
        self.y = y
        self.chess_board[x][y] = True
        print(x, y)

Далее создаю экземпляр класса:

knight = Knight([[False]*8]*8)

Проверяю:

knight.chess_board

output

[[False, False, False, False, False, False, False, False],
 [False, False, False, False, False, False, False, False],
 [False, False, False, False, False, False, False, False],
 [False, False, False, False, False, False, False, False],
 [False, False, False, False, False, False, False, False],
 [False, False, False, False, False, False, False, False],
 [False, False, False, False, False, False, False, False],
 [False, False, False, False, False, False, False, False]]

Далее использую метод

knight.commandStepTo(1,2)

Проверяю, и у меня выводит следующее

[[False, False, True, False, False, False, False, False],
 [False, False, True, False, False, False, False, False],
 [False, False, True, False, False, False, False, False],
 [False, False, True, False, False, False, False, False],
 [False, False, True, False, False, False, False, False],
 [False, False, True, False, False, False, False, False],
 [False, False, True, False, False, False, False, False],
 [False, False, True, False, False, False, False, False]]

Почему у меня так записывает? Я ожидаю, что запишется только в ячейку [1][2], а не во весь столбец.


Ответы (0 шт):