Ordering and Immutability
from dataclasses import dataclass
@dataclass(order=True)
class Reading:
altitude: float
status: str = "nominal"
readings = [Reading(800.0), Reading(400.0), Reading(1200.0)]
print(sorted(readings))
@dataclass(frozen=True)
class Coordinate:
latitude: float
longitude: float
site = Coordinate(28.5721, -80.6480)
print(site)
try:
site.latitude = 0.0
except Exception as err:
print(f"Rejected: {type(err).__name__}")
[Reading(altitude=400.0, status='nominal'), Reading(altitude=800.0, status='nominal'), Reading(altitude=1200.0, status='nominal')]
Coordinate(latitude=28.5721, longitude=-80.648)
Rejected: FrozenInstanceError