Propriedades somente leitura
A classe LoggedDF
do Capítulo 2 era uma extensão da classe pandas
DataFrame que tinha um atributo created_at
adicional que armazenava o registro de data e hora em que o DataFrame foi criado, para que o usuário pudesse ver se os dados estavam desatualizados.
Mas essa classe não era muito útil: poderíamos simplesmente atribuir qualquer valor a created_at
depois que o DataFrame fosse criado, anulando assim todo o objetivo do atributo! Agora, usando propriedades, podemos tornar o atributo somente leitura.
A classe LoggedDF
do Capítulo 2 está disponível para você no painel de script.
Este exercício faz parte do curso
Programação orientada a objetos em Python
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
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(____)