Thuộc tính chỉ đọc
Lớp LoggedDF ở Chương 2 là một phần mở rộng của lớp pandas DataFrame, có thêm thuộc tính created_at để lưu dấu thời gian khi DataFrame được tạo, giúp người dùng biết dữ liệu đã cũ đến mức nào.
Nhưng lớp đó chưa hữu ích lắm: bạn có thể gán bất kỳ giá trị nào cho created_at sau khi DataFrame được tạo, làm mất ý nghĩa của thuộc tính này! Giờ đây, dùng properties, ta có thể biến thuộc tính này thành chỉ đọc.
Lớp LoggedDF từ Chương 2 đã có sẵn cho bạn trong khung mã.
Bài tập này là một phần của khóa học
Lập trình hướng đối tượng trong Python
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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(____)