Inizia subitoInizia gratis

Aggiungere funzionalità a una classe figlia

Hai appena scritto una classe SocialMedia che eredita funzionalità da Document. Al momento, SocialMedia non ha alcuna funzionalità diversa da Document. In questo esercizio, aggiungerai caratteristiche a SocialMedia per specializzarla nell'uso con dati dei Social Media.

Per riferimento, la definizione di Document è riportata qui sotto.

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)

Questo esercizio fa parte del corso

Principi di Ingegneria del Software in Python

Visualizza corso

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

# 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 ____
Modifica ed esegui il codice