Bắt đầu ngayBắt đầu miễn phí

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

Xem khóa học

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(____)
Chỉnh sửa và Chạy Mã