Menu
Coddy logo textTech

メソッド

CoddyのPythonジャーニー「オブジェクト指向プログラミング」セクションの一部。レッスン 5/64。

メソッドはクラスに属する関数です。オブジェクトが実行できる動作やアクションを定義します。

メソッドを持つクラスの例を次に示します。

class Calculator:
    def greet(self):
        print("Hello! I'm a calculator.")
    
    def add(self, a, b):
        return a + b
    
    def multiply(self, x, y):
        result = x * y
        print(f"{x} × {y} = {result}")
        return result

calculatorオブジェクトを作成します:

my_calc = Calculator()

パラメーターを必要としないメソッドを呼び出します。

my_calc.greet()

パラメーターを指定してメソッドを呼び出します。

sum_result = my_calc.add(5, 3)
print(sum_result)

出力と値の返却の両方を行うメソッドを呼び出します:

product = my_calc.multiply(4, 7)

出力:

Hello! I'm a calculator.
8
4 × 7 = 28

メソッドは次のことができます:

  • add(self, a, b)のようなパラメーターを受け取る
  • return a + bのような値を返す
  • print("Hello!")のように出力を直接表示する
  • 表示と値の返却の両方を行う

重要なポイント:メソッドは、オブジェクトで何ができるかを定義します。常に最初のパラメーターとして self を含めますが、メソッドを呼び出すときにそれを渡してはいけません。

challenge icon

チャレンジ

簡単

このチャレンジでは、銀行システムを実装します。1つのファイルにBankAccount classを作成し、別のファイルでそれを使用して、保守性を高めるためのコードの整理方法を示します。

2つのファイルを扱います。

  • bank_account.pyBankAccount classを定義するファイル
  • driver.py:classをimportし、accountを作成してtransactionsを実行するファイル

bank_account.pyに、次の要素を持つBankAccount classを作成します。

  1. "Python National Bank"に設定されたclass attribute bank_name
  2. amountを受け取り、それをaccountのbalanceに加えるdepositメソッド
  3. amountを受け取り、それをbalanceから差し引くwithdrawメソッド
  4. 現在のbalanceを返すget_balanceメソッド

次にdriver.pyで、BankAccount classをimportし、accountを作成して、$100をdepositし、$30をwithdrawして、次の形式でbalanceをprintします:f"Current balance: ${my_account.get_balance()}"

自分で試してみよう

from bank_account import BankAccount

# アカウントを作成してメソッドをテストする
my_account = BankAccount()
my_account.balance = 0  # 開始残高

# TODO: 取引を行う
# (ここにコードを書く)

# TODO: 最終残高を出力する
# (ここにコードを書く)
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

オブジェクト指向プログラミングのすべてのレッスン

自分で練習してみよう: Pythonオンラインコンパイラ