LoslegenKostenlos loslegen

Schreibgeschützte Properties

Die Klasse LoggedDF aus Kapitel 2 war eine Erweiterung der pandas-Klasse DataFrame mit einem zusätzlichen Attribut created_at, das den Zeitpunkt speicherte, an dem der DataFrame erstellt wurde, damit Nutzer sehen konnten, wie veraltet die Daten sind.

Aber diese Klasse war nicht sehr nützlich: Wir konnten dem Attribut created_at nach der Erstellung des DataFrames einfach jeden beliebigen Wert zuweisen – damit war der Zweck des Attributs hinfällig! Jetzt können wir mit Properties das Attribut schreibgeschützt machen.

Die Klasse LoggedDF aus Kapitel 2 steht dir im Skriptbereich zur Verfügung.

Diese Übung ist Teil des Kurses

Objektorientierte Programmierung in Python

Kurs anzeigen

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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 bearbeiten und ausführen