В отличие от других языков, имеющих переменную и значение, у Python есть имя и объект.
Этот оператор:
a = [1,2,3]
означает присвоение списку (объекту) имени a
, и это:
b = a
просто дает тому же объекту a
новое имя b
, поэтому всякий раз, когда вы что-то делаете с a
, объект изменяется, и поэтому b
изменяется .
Единственный способ сделать действительно копию a для создания нового объекта, как и другие ответы, уже сказал.
Вы можете увидеть больше об этом здесь .
Одна из вещей, которые меня раздражают в холсте, это то, что граница является частью координатного пространства. Когда вы рисуете линию на левом краю, она затеняется границей.
Есть ли конфигурация, чтобы исправить это?
blockquote>Да.
Вы можете обойти это, полностью отключив атрибуты, связанные с границей:
canvas = tk.Canvas(window, width=winW, height=winH, borderwidth=0, highlightthickness=0)
Если вы хотите иметь какую-то рамку вокруг холста, вы можете поместить холст в рамка, и используйте рамку, чтобы нарисовать границу.