Menu
Coddy logo textTech

メソッド

CoddyのPythonジャーニー「Object Oriented Programming」セクションの一部 — レッスン 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 クラスを作成し、別のファイルでそれを使用することで、保守性を高めるためにコードをどのように整理するかを学びます。

2つのファイルを操作する必要があります:

  • bank_account.py: BankAccount クラスを定義する場所
  • driver.py: クラスをインポートし、アカウントを作成して、取引を実行する場所

bank_account.py に以下の内容で BankAccount クラスを作成してください:

  1. クラス属性 bank_name を "Python National Bank" に設定します
  2. 金額を受け取り、それをアカウントの残高に加算するメソッド deposit
  3. 金額を受け取り、それを残高から差し引くメソッド withdraw
  4. 現在の残高を返すメソッド get_balance

次に driver.py で、BankAccount クラスをインポートし、アカウントを作成して、$100を預け入れ(deposit)、$30を引き出し(withdraw)、次の形式で残高を表示してください:f"Current balance: ${my_account.get_balance()}"

チートシート

メソッドはクラスに属する関数であり、オブジェクトができることを定義します。

クラス内でメソッドを定義する:

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

オブジェクトを作成し、メソッドを呼び出す:

my_calc = Calculator()
my_calc.greet()
sum_result = my_calc.add(5, 3)
product = my_calc.multiply(4, 7)

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

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

重要なポイント: メソッドの定義では常に最初のパラメータとして self を含めますが、メソッドを呼び出すときには渡しません。

自分で試してみよう

from bank_account import BankAccount

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

# TODO: 取引を行う
# (ここにコードを記述)

# TODO: 最終残高を表示する
# (ここにコードを記述)
quiz icon腕試し

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

Object Oriented Programmingのすべてのレッスン