Scrivere un metodo non pubblico
Nella lezione abbiamo visto come aggiungere funzionalità alle classi usando metodi non pubblici. Definendo metodi come non pubblici, segnali all'utente che il metodo va usato solo all'interno del package.
In questo esercizio definirai un metodo non pubblico che la tua classe utilizzerà per contare le parole.
Questo esercizio fa parte del corso
Principi di Ingegneria del Software in Python
Istruzioni dell'esercizio
Counterdacollectionsè già stato caricato nel tuo ambiente, così come la funzionetokenize().- Aggiungi un metodo chiamato
count_wordscome metodo non pubblico. - Dai al tuo metodo non pubblico la funzionalità di contare il contenuto dell'attributo
tokensusandoCounter(). - Usa la tua nuova funzione nel metodo
__init__.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
class Document:
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.____()
def _tokenize(self):
return tokenize(self.text)
# non-public method to tally document's word counts with Counter
def ____(self):
return ____(____.tokens)