존재하지 않는 속성에 접근하기
가끔 객체의 네임스페이스에 존재하지 않는 속성에 접근하려 할 수 있어요. 이런 경우 일반적으로 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")
____.____