I just started to use dataclasses. I have created a python dataclass:
from dataclasses import dataclass, fields
from typing import Optional
@dataclass
class CSVData:
SUPPLIER_AID: str = ""
EAN: Optional[str] = None
DESCRIPTION_SHORT: str = ""
DESCRIPTION_LONG: str = "Article long description"
After creating an instance of a this dataclass and printing it out:
data = CSVData(SUPPLIER_AID='1234-568',
EAN='EAN number',
DESCRIPTION_SHORT='Article Name')
print(data)
output is:
CSVData(SUPPLIER_AID='1234-568', EAN='EAN number', DESCRIPTION_SHORT='Article name', DESCRIPTION_LONG='Article long description')
When i call the fields function:
for field in fields(data):
print(field.default)
output is:
"", None, "", Article long description
I would expect to print:
1234-568, EAN number, Article Name, Article long description