Властивості лише для читання
Клас LoggedDF з Розділу 2 був розширенням класу pandas DataFrame з додатковим атрибутом created_at, який зберігав позначку часу створення датафрейму, щоб користувач міг бачити, наскільки застарілі дані.
Але цей клас був не надто корисним: ми могли просто призначити будь-яке значення created_at після створення датафрейму, нівелюючи сенс цього атрибута! Тепер, використовуючи властивості (properties), ми можемо зробити атрибут доступним лише для читання.
Клас LoggedDF з Розділу 2 доступний для вас у вікні скрипту.
Ця вправа є частиною курсу
Об'єктноорієнтоване програмування в Python
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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(____)