Een dataclass maken
Dataclasses bieden nog rijkere manieren om gegevens op te slaan en mee te werken. Eerder gebruikten we een namedtuple voor gewichtlogs om een fijne, gebruiksvriendelijke datastructuur te maken. In deze code gebruiken we een dataclass om hetzelfde te doen, maar we voegen een aangepaste property toe die de verhouding tussen lichaamsmassa en flipperlengte teruggeeft. Dataclasses beginnen met een verzameling velden en hun types. Daarna definieer je eventuele properties: dat zijn functies op de dataclass die op zichzelf werken om extra informatie over de gegevens te geven. Een voorbeeld: een dataclass voor een persoon kan een property hebben die iemands huidige leeftijd berekent op basis van hun geboortedatum en de huidige datum.
Deze oefening maakt deel uit van de cursus
Datatypen in Python
Oefeninstructies
- Importeer
dataclassuitdataclasses. - Voeg de velden
species(string),sex(string),body_mass(int) enflipper_length(int) toe aan de dataclass. - Voeg een property toe (
mass_to_flipper_length_ratio) diebody_massdeelt doorflipper_lengthen dat resultaat teruggeeft.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Import dataclass
from ____ import ____
@____
class WeightEntry:
# Define the fields on the class
____: str
____: int
____: int
____: str
# Define a property that returns the body_mass / flipper_length
____
____ mass_to_flipper_length_ratio(____):
return ____.body_mass / ____.____