Mix basic and advanced readings in the same list:
stations = [
WeatherReading("Aalen", 23.5, 65.0, 12.3),
AdvancedReading("Berlin", 19.0, 72.0, 8.5, 3.1, 1015.0),
WeatherReading("Munich", 21.3, 58.0, 15.1),
]
for station in stations:
print(station.city, "- feels like:", station.feels_like())
Python calls the right version of feels_like() automatically. Basic stations get wind chill. Advanced stations get UV-adjusted. Same code, different behavior.
This is polymorphism -- Greek for "many forms."