Условия задачи:

 

Напишите программу, в которой описана функция, предназначенная для создания объектов. Функции при вызове передается список и текстовый аргумент. Текстовый аргумент определяет название класса, на основе которого создается объект. Текстовые элементы из списка
определяют названия полей объекта (нетекстовые аргументы игнорируются). Значениями полей объекта являются натуральные числа.

 

Решение задачи:

def creating_obj(lst: list, name: str):
    class Create:
        def __init__(self, lst):
            for _ in lst:
                if type(_) == str:
                    self.__dict__[_] = len(_)
    Create.__name__ = name.title()
    return Create(lst)


a = creating_obj(['first', 'second'], 'myclass')

print(a.__class__.__name__)
print(a.first)
print(type(a))