Ajouter des fonctionnalités à une classe enfant
Vous venez d'écrire une classe SocialMedia qui hérite des fonctionnalités de Document. Pour l'instant, SocialMedia n'offre rien de plus que Document. Dans cet exercice, vous allez ajouter des fonctionnalités à SocialMedia pour la spécialiser à l'analyse de données de médias sociaux.
Pour référence, la définition de Document est présentée ci-dessous.
class Document:
# Initialize a new Document instance
def __init__(self, text):
self.text = text
# Pre tokenize the document with non-public tokenize method
self.tokens = self._tokenize()
# Pre tokenize the document with non-public count_words
self.word_counts = self._count_words()
def _tokenize(self):
return tokenize(self.text)
# Non-public method to tally document's word counts
def _count_words(self):
# Use collections.Counter to count the document's tokens
return Counter(self.tokens)
Cette activité fait partie du cours
Principes d'ingénierie logicielle en Python
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Define a SocialMedia class that is a child of the `Document class`
class SocialMedia(Document):
def __init__(self, text):
Document.__init__(self, text)
self.hashtag_counts = self._count_hashtags()
def _count_hashtags(self):
# Filter attribute so only words starting with '#' remain
return ____