Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

README.md

04. Class

Exercise

名前を覚える対話ボットのクラスを作成します。今回は、エクササイズの開始にあたり下記のコードをコピーしてファイルを作成してください。 そして、WRITE YOUR CODE HEREとなっているところに、コードを記載してください。

# -*- coding: utf-8 -*-
import unittest


class Bot():

    def __init__(self, owner_name):
        """
        WRITE YOUR CODE HERE
        """

    def reply(self, call):
        """
        WRITE YOUR CODE HERE
        """


class TestBot(unittest.TestCase):

    def test_bot_reply(self):
        bot = Bot("Angy")
        self.assertEqual("Hello", bot.reply("Hi, I'm Bill.'"))
        self.assertEqual("Hello my Boss!", bot.reply("Hi, I'm Angy."))


if __name__ == "__main__":
    unittest.main()

このコードの中には、テストのためのコードがついています。最終的にpythonコマンドで実行してテストが通ればOKです。

Point

Class

  • Pythonでは、クラスはclass宣言により作成を行います。
  • classの中では、関数の第一引数は常にself、自分自身になります。このselfを通じて、自分の持つ関数を呼び出すことができます。
  • __init__は、クラスの初期化を行うための特別な関数になります。

クラスを作成することのメリットは、内部状態が持てるということです。このほか、関数をまとめる目的で使用されることもあります。

Unit Test

  • Pythonでは、unittest.TestCaseを継承することで簡単にテストを作成することができます。unittest.TestCaseには、様々なテスト用メソッドが登録されており継承によりそれを活用することができます。
  • テストはunittest.main()で実行します。詳細はドキュメントを参照してください。