class P(Protocol):
val: int
< /code>
Для целей тестирования я хочу превратить этот класс протокола в то, что я могу легко создать экземпляр. Однако, когда я пытаюсь превратить его в обработку данных, появляется ошибка: < /p>
import dataclasses
from typing import Protocol
class P(Protocol):
val: int
PInst = dataclasses.dataclass(P)
PInst(val=4) # TypeError: Protocols cannot be instantiated
Существует ли простое решение для использования p для создания класса, который удовлетворяет его протокол и является мгновенным, без повторного завершения его атрибутов?
У меня есть протокол подкласс, который определяет объекты с атрибутами из внешней библиотеки: [code]class P(Protocol): val: int < /code> Для целей тестирования я хочу превратить этот класс протокола в то, что я могу легко создать экземпляр. Однако, когда я пытаюсь превратить его в обработку данных, появляется ошибка: < /p> import dataclasses from typing import Protocol
class P(Protocol): val: int
PInst = dataclasses.dataclass(P)
PInst(val=4) # TypeError: Protocols cannot be instantiated [/code] Существует ли простое решение для использования p для создания класса, который удовлетворяет его протокол и является мгновенным, без повторного завершения его атрибутов?
У меня довольно сложная встроенная система. Несколько вложенных слоев проприетарных форматов связи и различных типов данных (например, битфилды, байтовые массивы, подписанные и не знаковые целые числа/поплавки различной ширины). Чтобы привести...