@classmethod и внутри метода итерироваться по cls.__dict__.values(), проверяя, является ли элемент экземпляром класса, и если да, изменять его атрибут. Например:
  
 class MyClass:
  class_attribute = 1
  def __init__(self, instance_attribute):
   self.instance_attribute = instance_attribute
  @classmethod
  def update_all_instances(cls, new_value):
   for obj in cls.__dict__.values():
    if isinstance(obj, cls):
     obj.instance_attribute = new_value
  Чтобы создать метод класса, который изменяет атрибуты всех экземпляров этого класса, можно использовать cls в качестве первого аргумента метода, чтобы получить доступ к классу. Затем, можно перебрать все экземпляры класса (если они хранятся где-то) и изменить их атрибуты.  Важно отметить, что напрямую класс не хранит информацию о созданных экземплярах. Поэтому нужно придумать способ хранения ссылок на эти экземпляры, например, сохранять их в списке внутри класса или использовать слабую ссылку (weakref) для предотвращения утечек памяти.
Вот пример с использованием списка, хранящего экземпляры:
class MyClass:
    instances = []  # Список для хранения всех экземпляров
    def __init__(self, value):
        self.value = value
        MyClass.instances.append(self)  # Добавляем новый экземпляр в список
    def __repr__(self):
        return f"MyClass(value={self.value})"
    @classmethod
    def update_all_instances(cls, new_value):
        """Обновляет атрибут 'value' всех экземпляров класса."""
        for instance in cls.instances:
            instance.value = new_value
# Пример использования:
instance1 = MyClass(10)
instance2 = MyClass(20)
print(f"До изменений: instance1 = {instance1}, instance2 = {instance2}")  # До изменений: instance1 = MyClass(value=10), instance2 = MyClass(value=20)
MyClass.update_all_instances(30)
print(f"После изменений: instance1 = {instance1}, instance2 = {instance2}") # После изменений: instance1 = MyClass(value=30), instance2 = MyClass(value=30)
  Пояснения:
instances = []:  Создается список instances внутри класса MyClass.  Он будет хранить все созданные экземпляры.__init__(self, value): В конструкторе, каждый новый экземпляр добавляется в список MyClass.instances.@classmethod update_all_instances(cls, new_value):  Это классовый метод, помеченный декоратором @classmethod.  Он принимает cls (ссылку на класс) в качестве первого аргумента, а затем new_value - новое значение для атрибута value.update_all_instances, происходит итерация по всем экземплярам, хранящимся в cls.instances, и для каждого экземпляра атрибут value устанавливается в new_value.Альтернативные подходы:
weakref): Более продвинутый подход, который позволяет избежать утечек памяти, если экземпляры перестают использоваться в других частях кода. Вместо хранения прямых ссылок, используются слабые ссылки.  Когда на объект больше нет ссылок, он может быть собран сборщиком мусора, и слабая ссылка автоматически становится недействительной.  Это требует более сложной реализации.Важные моменты: