Data classes don't do runtime type checking, but they do provide dynamic type info through dataclasses.fields(). This function returns a tuple of Field objects, and according to the documentation[1], Field includes the attribute "type":
type: The type of the field.
In Python 3.10, this now returns a string. In my opinion that's a bug (perhaps in the docs).
I verified this using a short test program:
import dataclasses
@dataclasses.dataclass
class Apa:
bepa: int
first_field = dataclasses.fields(Apa)[0]
print(type(first_field.type))
I verified this using a short test program:
Running with 3.9 and 3.10: 1: https://docs.python.org/3.10/library/dataclasses.html#datacl...