У меня есть хитрая проблема в игре, над которой я работаю. Я использую Pygame для его разработки. Я оказался одним из тех разработчиков, которые никогда не использовали переменную объекта __dict__
по умолчанию; Я всегда определяю __slots__
, чтобы уточнить переменные, которые может иметь объект (у меня есть метод класса, который читает слоты для определения переменных, необходимых из файла конфигурации).
Так или иначе, я только что понял, что это усилие не работает в некоторых из моих классов; они по-прежнему имеют переменную __dict__
и могут иметь произвольные атрибуты, даже если они явно определяют их __slots__
. Я думаю, это потому, что они наследуются от pygame.sprite.Sprite, который имеет __dict__
. Если это так, как я могу подавить создание этого диктата? (Хотя я явно определял __slots__
должен был) Или я мог ошибиться в причине? Спасибо за понимание; трудно найти информацию об этой конкретной проблеме с помощью поисков.