Začněte nyníZačněte zdarma

Vlastnosti pouze pro čtení

Třída LoggedDF z 2. kapitoly byla rozšířením třídy pandas DataFrame, která měla navíc atribut created_at uchovávající časové razítko vytvoření DataFrame – aby uživatel viděl, jak jsou data aktuální.

Tato třída ale nebyla příliš užitečná: po vytvoření DataFrame šlo jednoduše přiřadit created_at libovolnou hodnotu, čímž celý smysl atributu padl. Teď pomocí vlastností (properties) uděláme z tohoto atributu atribut pouze pro čtení.

Třída LoggedDF z 2. kapitoly je připravena v panelu skriptu.

Toto cvičení je součástí kurzu

Object-Oriented Programming in Python

Zobrazit kurz

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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(____)
Upravit a spustit kód