LoslegenKostenlos starten

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

<Kurs>Objektorientierte Programmierung in Python</Kurs>
Kurs ansehen

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

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