Day 85メソッドで状態を更新する
Pythonコード
1class BankAccount:2 def __init__(self, balance=0):3 self.balance = balance4 def deposit(self, amount):5 self.balance += amount6 def withdraw(self, amount):7 if amount > self.balance:8 print('残高不足です')9 else:10 self.balance -= amount11 def check_balance(self):12 return self.balance13 14test_account = BankAccount(1000)15print(test_account.check_balance())16test_account.deposit(500)17print(test_account.check_balance())18test_account.withdraw(200)19print(test_account.check_balance())
解説
- 行1〜3: クラスBankAccountを定義します。__init__メソッドは、インスタンスが生成されたときに呼ばれます。balanceというインスタンス変数を定義し、初期値を0に設定します。組み込み関数__init__は、クラスのインスタンスが作成されたときに自動的に呼び出されます。
- 行4〜5: depositメソッドは、口座に金額を追加します。amountパラメータで指定された金額をbalanceに加算します。ここで、self.balance += amountは、self.balance = self.balance + amountと同じ意味です。
- 行6〜10: withdrawメソッドは、口座から金額を引き出します。amountパラメータで指定された金額がbalanceを超えている場合は、'残高不足です'と表示します。そうでない場合は、balanceからamountを減算します。組み込み関数print()は、指定された文字列を画面に表示します。
- 行11〜12: check_balanceメソッドは、現在の残高を返します。組み込み関数returnは、関数の実行結果を呼び出し元に返します。
- 行14〜19: BankAccountクラスのインスタンスtest_accountを生成し、初期残高を1000に設定します。次に、check_balanceメソッドで残高を確認し、depositメソッドで500を追加し、再び残高を確認します。最後に、withdrawメソッドで200を引き出し、残高を確認します。
次に試してみよう
- クラスに新しいメソッドを追加してみましょう。たとえば、利息を計算するメソッドなど。
- インスタンス変数を追加してみましょう。たとえば、口座名義人や口座番号など。
- try/exceptブロックを使用して、不正な入力に対応してみましょう。