如何从数据类中提取属性或字段名称?

How do I pull out the attributes or field names from a dataclass?

我有一个数据类,说 Car:

from dataclasses import dataclass

@dataclass
class Car:
    make: str
    model: str
    color: hex
    owner: Owner

如何提取列表中数据类的属性或字段?例如

attributes = ['make', 'model', 'color', 'owner']

使用 dataclasses.fields 从 class 或实例中提取字段。然后使用 .name 属性获取字段名称。

>>> from dataclasses import fields
>>> attributes = [field.name for field in fields(Car)]
>>> print(attributes)
['make', 'model', 'color', 'owner']