Aan de slagGa gratis aan de slag

Alleen-lezen properties

De klasse LoggedDF uit Hoofdstuk 2 was een uitbreiding van de pandas DataFrame-klasse met een extra attribuut created_at dat het tijdstip opslaat waarop de DataFrame is gemaakt, zodat de gebruiker kan zien hoe verouderd de data is.

Maar die klasse was niet zo nuttig: we konden na het maken van de DataFrame gewoon elke waarde toekennen aan created_at, waarmee het hele doel van het attribuut verloren ging! Nu kunnen we met properties het attribuut alleen-lezen maken.

De klasse LoggedDF uit Hoofdstuk 2 is voor je beschikbaar in het scriptvenster.

Deze oefening maakt deel uit van de cursus

Objectgeoriënteerd programmeren in Python

Cursus bekijken

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

import pandas as pd
from datetime import datetime

# LoggedDF class definition from Chapter 2
class LoggedDF(pd.DataFrame):
    def __init__(self, *args, **kwargs):
        pd.DataFrame.__init__(self, *args, **kwargs)
        self.created_at = datetime.today()

    def to_csv(self, *args, **kwargs):
        temp = self.copy()
        temp["created_at"] = self.created_at
        pd.DataFrame.to_csv(temp, *args, **kwargs)   

# Instantiate a LoggedDF called ldf
ldf = LoggedDF({"col1": [1,2], "col2":[3,4]}) 

# Assign a new value to ldf's created_at attribute and print
____ = ____
print(____)
Code bewerken en uitvoeren