CommencerCommencez gratuitement

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, la classe SocialMedia n'a aucune fonctionnalité différente de Document. Dans cet exercice, vous allez ajouter des fonctionnalités à SocialMedia pour la spécialiser pour des données issues des réseaux sociaux.

Pour référence, la définition de Document est donné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)

Cet exercice fait partie du cours

<cours>Principes de génie logiciel en Python</cours>
Voir le cours

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 ____
Modifier et exécuter le code