Модули и функции · встроенный MicroPython FEMM 5
types
Имена внутренних типов и создание классов.
Условия работы
- FunctionType, LambdaType, GeneratorType, MethodType, BuiltinFunctionType, BuiltinMethodType, ModuleType пригодны для isinstance.
- CodeType, MappingProxyType, SimpleNamespace, TracebackType, FrameType, GetSetDescriptorType, MemberDescriptorType равны None: это имена-заполнители.
types.new_classtypes.prepare_classtypes.new_classСоздаёт класс с программно заданными полями.
types.new_class
new_class(name, bases=(), kwds=None, exec_body=None)Создаёт класс с программно заданными полями.
Аргументы
| Имя | Назначение и допустимые значения |
|---|---|
name | Имя нового класса. |
bases | Кортеж базовых классов. |
kwds | Параметры метакласса либо None. |
exec_body | Функция заполнения словаря атрибутов либо None. |
Возвращаемое значение
Новый объект класса.
Пример
"Пример types.new_class.\nСреда: встроенный MicroPython FEMM 5.\nСоздаёт класс с программно заданными полями.\nРезультат: Новый объект класса."
import types
C=types.new_class('Run',exec_body=lambda ns:ns.update({'turns':100}))
assert C().turns == 100
Ожидаемый результат. Проверки assert проходят без исключения.
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.
types.prepare_classПодготавливает параметры для динамического создания класса.
types.prepare_class
prepare_class(name, bases=(), kwds=None)Подготавливает параметры для динамического создания класса.
Аргументы
| Имя | Назначение и допустимые значения |
|---|---|
name | Имя создаваемого класса. |
bases | Базовые классы. |
kwds | Словарь с необязательным metaclass. |
Возвращаемое значение
Кортеж (метакласс, namespace, оставшиеся kwds).
Пример
"Пример types.prepare_class.\nСреда: встроенный MicroPython FEMM 5.\nПодготавливает параметры для динамического создания класса.\nРезультат: Кортеж (метакласс, namespace, оставшиеся kwds)."
import types
meta,ns,kw=types.prepare_class('Run')
assert meta is type and isinstance(ns,dict)
Ожидаемый результат. Проверки assert проходят без исключения.
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.
Имена в установленной сборке
Перечень получен во встроенном интерпретаторе. Он включает функции, классы и константы. Ссылки ведут к контрактам; для прямого доступа ulab учитывайте условия этого раздела.
BuiltinFunctionTypeBuiltinMethodTypeCodeTypeFrameTypeFunctionTypeGeneratorTypeGetSetDescriptorTypeLambdaTypeMappingProxyTypeMemberDescriptorTypeMethodTypeModuleTypeSimpleNamespaceTracebackTypenew_classprepare_class