获取数据类字段的类型信息

2024-04-23 14:31:55 发布

您现在位置:Python中文网/ 问答频道 /正文

对于给定的数据类,如何获取有关字段类型的信息?在

示例:

>>> from dataclasses import dataclass, fields
>>> import typing
>>> @dataclass
... class Foo:
...     bar: typing.List[int]

我可以向销售代表提供字段信息:

^{pr2}$

我可以有一个我的酒吧领域的类型代表

>>> fields(Foo)[0].type
typing.List[int]

如何检索(作为python对象,而不是字符串repr):

  • 类型(typing.List
  • typing.Listint)中项目的类型

是吗?在


Tags: 数据fromimport信息示例typing类型fields
1条回答
网友
1楼 · 发布于 2024-04-23 14:31:55

数据类字段的type属性它不是字符串表示,而是一种类型。在

Python 3.6:

>>> type(fields(Foo)[0].type)
<class 'typing.GenericMeta'>

Python 3.7:

^{pr2}$

在这种情况下,您可以使用__args__属性检索内部类型:

>>> fields(Foo)[0].type.__args__
(<class 'int'>,)

相关问题 更多 >