Erste SchritteKostenlos loslegen

Nur-Lese-Eigenschaften

Die Klasse LoggedDF aus Kapitel 2 war eine Erweiterung der Klasse pandas DataFrame, die ein zusätzliches Attribut created_at hatte, das den Zeitstempel speicherte, als der DataFrame erstellt wurde, damit der Benutzer sehen konnte, wie veraltet die Daten sind.

Aber diese Klasse war nicht sehr nützlich: Wir konnten created_at einfach einen beliebigen Wert zuweisen, nachdem der DataFrame erstellt worden war, und damit den ganzen Sinn des Attributs zunichte machen! Jetzt können wir das Attribut mit Hilfe von Eigenschaften schreibgeschützt machen.

Die Klasse LoggedDF aus Kapitel 2 ist im Skriptfenster für dich verfügbar.

Diese Übung ist Teil des Kurses

Objektorientierte Programmierung in Python

Kurs anzeigen

Interaktive Übung zum Anfassen

Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.

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(____)
Bearbeiten und Ausführen von Code