メソッド
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 resultcalculatorオブジェクトを作成します:
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 を含めますが、メソッドを呼び出すときにそれを渡してはいけません。
チャレンジ
簡単このチャレンジでは、銀行システムを実装します。1つのファイルにBankAccount classを作成し、別のファイルでそれを使用して、保守性を高めるためのコードの整理方法を示します。
2つのファイルを扱います。
- bank_account.py:
BankAccountclassを定義するファイル - driver.py:classをimportし、accountを作成してtransactionsを実行するファイル
bank_account.pyに、次の要素を持つBankAccount classを作成します。
- "Python National Bank"に設定されたclass attribute
bank_name - amountを受け取り、それをaccountのbalanceに加える
depositメソッド - amountを受け取り、それをbalanceから差し引く
withdrawメソッド - 現在の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: 最終残高を出力する
# (ここにコードを書く)このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
オブジェクト指向プログラミングのすべてのレッスン
自分で練習してみよう: Pythonオンラインコンパイラ