У меня есть класс:
class MusicCache(BaseDatabaseClass):
dont_skip_duplicates = False
с методом экземпляра
def is_skip_set(self):
if MusicCache.dont_skip_duplicates is False:
# skip duplicates
else:
# don't skip duplicates
Есть 5 экземпляров этого класса.
Затем я устанавливаю переменную класса из другого класса, который импортировал MusicCache
:
class MQTTHandler(object):
def set_skip_duplicates(self):
MusicCache.dont_skip_duplicates = True
is_skip_set()
всегда равно false, даже после вызова set_skip_duplicates()
.
Я попытался сделать dont_skip_duplicates
переменной экземпляра и передать все экземпляры MusicCache в MQTTHandler, а также установить переменную экземпляра каждого экземпляра с помощью self.cache_instance_x.dont_skip_duplicates = True
, но это тоже не работает, я предполагаю, потому что, когда я передаю экземпляры MQTTHandler
Я создаю локальный экземпляр с присваиванием self
.
Я играл с сеттерами в стиле Java в классе MusicCache и сделал переменную dont_skip_duplicates
равной @property
, чтобы добиться того же, но, похоже, ничего не работает.
Каков наилучший способ установки этой переменной во всех экземплярах класса MusicCache
?