Каждая переменная в python (например, как dict1
или str
или __builtins__
является указателем на некоторый скрытый платонический «объект» внутри машины.
Если вы установите dict1 = dict2
, вы просто укажите dict1
на тот же объект (или местоположение памяти или любую другую аналогию, которая вам нравится), как dict2
. Теперь объект, на который ссылается dict1
, является тем же объектом, на который ссылается dict2
.
Вы можете проверить: dict1 is dict2
должен быть True
. Кроме того, id(dict1)
должен быть таким же, как id(dict2)
.
Вы хотите dict1 = copy(dict2)
или dict1 = deepcopy(dict2)
.
Разница между copy
и deepcopy
? deepcopy
гарантирует, что элементы dict2
(вы указали его в списке?) также являются копиями.
't использовать deepcopy
много - это, как правило, плохая практика писать код, который ему нужен (на мой взгляд).
Похоже, что рамка градиентного слоя установлена равной рамке пути, которая не включает толщину обводки CAShapeLayer, поэтому она обрезается в квадрате. Я не могу видеть из кода, есть ли у вас круговой путь в подпредставлении, но если вы установите рамку градиента такой же, как в рамке подпредставления, которая должна сортировать обрезку, а также смещение представления прогресса на дорожке .
Надеюсь, что это помогает.