| f | class MixedObject: | f | class MixedObject: | 
            |  |  |  |  | 
            |  | def __init__(self, **kwargs): |  | def __init__(self, **kwargs): | 
            |  | self.__dict__.update(kwargs) |  | self.__dict__.update(kwargs) | 
            |  |  |  |  | 
            |  | def __str__(self): |  | def __str__(self): | 
            |  | sorted_items = sorted(self.__dict__.items()) |  | sorted_items = sorted(self.__dict__.items()) | 
            | n | return ', '.join((f'{key}={value}' for key, value in sorted_item | n | return ', '.join((f'{k}={v}' for k, v in sorted_items)) | 
            |  | s)) |  |  | 
            |  |  |  |  | 
            |  | def mix(*args): |  | def mix(*args): | 
            | n | result_dict = {} | n | result = {} | 
            |  | for obj in args: |  | for obj in args: | 
            | t | for attr_name in dir(obj): | t | for attr in dir(obj): | 
            |  | if not attr_name.startswith('_') and (not callable(getattr(o |  | if not attr.startswith('_') and (not callable(getattr(obj, a | 
            |  | bj, attr_name))): |  | ttr))): | 
            |  | result_dict[attr_name] = getattr(obj, attr_name) |  | result[attr] = getattr(obj, attr) | 
            |  | return MixedObject(**result_dict) |  | return MixedObject(**result) |