解説
属性(データ)に加えて、メソッド(振る舞い)を持たせると、オブジェクトらしくなります。
銀行口座を例にします。残高 balance を属性に持ち、deposit(入金)・withdraw(出金)・show(表示)というメソッドで操作します。メソッドの中から self.balance を読み書きすることで、そのインスタンスの状態を更新します。
withdraw では、残高より多い金額は引き出せないように if でチェックしています。このように「データを直接いじらず、メソッドを通して安全に操作する」のがオブジェクト指向の考え方です。
balance=0 のように引数に既定値を付けると、省略したときの初期値を決められます。
書き方
メソッドは self.属性 を読み書きして振る舞いを表す。 ・def メソッド名(self, 引数...): クラス内に定義。 ・既定値つき引数: def __init__(self, owner, balance=0): 省略時は 0。 ・self.balance += amount のように状態を更新できる。 ・return で処理を途中で抜けられる(早期リターン)。
書いて動かす
この回の課題
BankAccount クラスに入金・出金・残高表示のメソッドを作り、残高不足のときは出金できないようにしてみよう。
コードはあなたの端末の中だけで動きます(サーバーには送られません)。進み具合もこのブラウザに保存されます。
もっと本格的に使うなら
Windows版 InsightPy なら、書いたコードを保存して業務の自動化まで進められます。学習センターはずっと無料です。