You can use metaclasses to dynamically create and modify classes.
class AutoAttributeMeta(type):
def __new__(cls, name, bases, dct):
for attr_name in ["attr1", "attr2", "attr3"]:
dct[attr_name] = f"Automatically added: {attr_name}"
return super().__new__(cls, name, bases, dct)
class DynamicClass(metaclass=AutoAttributeMeta):
pass
print(DynamicClass.attr1) # Output: Automatically added: attr1
print(DynamicClass.attr2) # Output: Automatically added: attr2