Python - __post_init__ method in Dataclasses

Python tip:

You can use __post_init__ on classes decorated with dataclass to add custom logic on init.

For example, to set a value of an attribute based on a different attribute's value:

from dataclasses import dataclass, field

class Order:
    net: float
    vat: float
    total: float = field(init=False)

    def __post_init__(self): = + self.vat

order = Order(net=100.00, vat=22.00)
print(order)  # => Order(net=100.0, vat=22.0, total=122.0)