Een niet-publieke methode schrijven
In de les hebben we besproken hoe je functionaliteit toevoegt aan classes met niet-publieke methoden. Door methoden als niet-publiek te definiëren geef je gebruikers aan dat de methode alleen binnen het package gebruikt hoort te worden.
In deze oefening definieer je een niet-publieke methode die door je class wordt gebruikt om woorden te tellen.
Deze oefening maakt deel uit van de cursus
Software-engineeringprincipes in Python
Oefeninstructies
Counteruitcollectionsis al in je omgeving geladen, net als de functietokenize().- Voeg een methode met de naam
count_wordstoe als niet-publieke methode. - Geef je niet-publieke methode de functionaliteit om de inhoud van het
tokens-attribuut te tellen metCounter(). - Gebruik je nieuwe functie in de
__init__-methode.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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)