FEMM 5

Модули и функции · встроенный MicroPython FEMM 5

types

Имена внутренних типов и создание классов.

Условия работы

types.new_classСоздаёт класс с программно заданными полями.

types.new_class

new_class(name, bases=(), kwds=None, exec_body=None)

Создаёт класс с программно заданными полями.

Аргументы

Аргументы вызова types.new_class
ИмяНазначение и допустимые значения
nameИмя нового класса.
basesКортеж базовых классов.
kwdsПараметры метакласса либо None.
exec_bodyФункция заполнения словаря атрибутов либо None.

Возвращаемое значение

Новый объект класса.

Пример

MicroPython FEMM 5
"Пример 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)

Подготавливает параметры для динамического создания класса.

Аргументы

Аргументы вызова types.prepare_class
ИмяНазначение и допустимые значения
nameИмя создаваемого класса.
basesБазовые классы.
kwdsСловарь с необязательным metaclass.

Возвращаемое значение

Кортеж (метакласс, namespace, оставшиеся kwds).

Пример

MicroPython FEMM 5
"Пример 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