읽기 전용 프로퍼티
2장에 나왔던 LoggedDF 클래스는 pandas의 DataFrame 클래스를 확장해, DataFrame이 생성된 시점의 타임스탬프를 저장하는 created_at 속성을 추가해 사용자가 데이터가 얼마나 오래되었는지 확인할 수 있게 했습니다.
하지만 그 클래스는 크게 유용하지 않았어요. DataFrame이 생성된 뒤에도 created_at에 아무 값이나 다시 할당할 수 있었기 때문이죠. 이제 프로퍼티를 사용해 이 속성을 읽기 전용으로 만들 수 있습니다.
2장의 LoggedDF 클래스가 스크립트 창에 준비되어 있습니다.
이 연습은 강의의 일부입니다
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(____)