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) |