存在しない属性へのアクセス
オブジェクトの名前空間に存在しない属性へアクセスしようとすることがあります。通常、この場合は AttributeError が発生します。この演習では、Python のマジックメソッドのひとつを使ってこの状況を処理する練習をします。楽しんで取り組んでください!
この演習はコースの一部です
Python 中級オブジェクト指向プログラミング
演習の手順
BankAccountの名前空間に定義されていない属性が参照されたときに実行されるメソッドを定義します。このメソッドはselfとnameを受け取ります。- そのマジックメソッドに、参照された属性はこのオブジェクトに設定すべきであると示唆するメッセージを表示するロジックを追加します。
BankAccountクラスのオブジェクトを作成し、routing_number属性へアクセスしてみて、出力を確認します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
class BankAccount:
def __init__(self, account_number):
self.account_number = account_number
# Define a magic method to handle references to attribute
# not in an object's namespace
def ____(____, ____):
# Output a message to instruct further action
print(f"""{____} is not defined in BankAccount object.
Please define this attribute if needed.""")
# Create a BankAccount object, reference routing_number
checking_account = ____("123456")
____.____