始める無料で始める

非公開メソッドを定義する

レッスンでは、非公開メソッドを使ってクラスに機能を追加する方法を学びました。メソッドを非公開として定義することで、そのメソッドはパッケージ内部でのみ使用されるものであることをユーザーに示せます。

この演習では、クラスが単語をカウントする際に使用する非公開メソッドを定義しましょう。

この演習はコースの一部です

Python におけるソフトウェアエンジニアリングの原則

コースを見る

演習の手順

  • Counter モジュールの collections と関数 tokenize() は、あらかじめ環境に読み込まれています。
  • count_words という名前のメソッドを 非公開メソッドとして追加してください。
  • 非公開メソッドに、tokens を使って Counter() 属性の内容をカウントする機能を実装してください。
  • 新しく作成した関数を __init__ メソッド内で活用してください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

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)
コードを編集して実行