Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Counter uit collections is al in je omgeving geladen, net als de functie tokenize().
  • Voeg een methode met de naam count_words toe als niet-publieke methode.
  • Geef je niet-publieke methode de functionaliteit om de inhoud van het tokens-attribuut te tellen met Counter().
  • 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)
Code bewerken en uitvoeren