Propriétés en lecture seule
La classe LoggedDF
du chapitre 2 était une extension de la classe DataFrame pandas
qui comportait un attribut created_at
supplémentaire stockant l'horodatage de la création du DataFrame, afin que l'utilisateur puisse voir à quel point les données sont périmées.
Mais cette classe n'était pas très utile : nous pouvions assigner n'importe quelle valeur à created_at
après la création du DataFrame, ce qui allait à l'encontre de l'objectif de l'attribut ! Maintenant, en utilisant les propriétés, nous pouvons rendre l'attribut en lecture seule.
La classe LoggedDF
du chapitre 2 est disponible dans le panneau de script.
Cet exercice fait partie du cours
Programmation orientée objet en Python
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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(____)