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
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 ____