Search code examples
pythonpython-3.xpython-dataclasses

python data class default value for str to None


I have a dataclass like this:

from dataclasses import dataclass

@dataclass
class DataClassCard:
    rank: str = None
    suit: str 

I am getting an error saying:

TypeError: non-default argument 'suit' follows default argument

Is there anyway to set this default value?

Finally calling:

queen_of_hearts = DataClassCard(suit = 'a')
queen_of_hearts.rank

Solution

  • Fields with a default value must come after any fields without a default. Just put suit above