#python #python-dataclasses
Вопрос:
Как я могу создать макет dataclass
, чтобы asdict
он работал над ним?
Похоже, это не работает:
>>> from dataclasses import dataclass, asdict
>>> @dataclass
... class A:
... foo: int
>>> asdict(A(foo=1))
{'foo': 1}
>>> from unittest import mock
>>>
>>> asdict(mock.create_autospec(A))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.8/dataclasses.py", line 1072, in asdict
raise TypeError("asdict() should be called on dataclass instances")
TypeError: asdict() should be called on dataclass instances
Примечание: Python 3.8.5
Комментарии:
1. Этот пример хорошо работал в моей версии Python 3.7.3 в Windows, но использование Python 3.7.6 в Ubuntu не сработало. Можете ли вы попробовать Python3.7.3?
2. Это действительно не работает для меня в Python 3.8.5 @robbinc91