더북(TheBook)

만약 전달값을 3개가 아닌 1개 또는 2개만 넘기면 어떻게 될까요?

soldier3 = Unit("보병") # 전달값 3개 중 1개만 넘김

실행결과 icon_con

TypeError: __init__() missing 2 required positional arguments: 'hp' and 'damage'

전달값을 1개만 넘기니 오류가 발생하고 오류 메시지로 hpdamage에 해당하는 전달값 2개가 없다고 나오네요.

이번에는 전달값을 2개만 넘겨 보겠습니다.

soldier3 = Unit("보병", 40) # 전달값 3개 중 2개만 넘김

실행결과 icon_con

TypeError: __init__() missing 1 required positional argument: 'damage'

역시나 같은 오류가 발생하고 damage에 해당하는 전달값 1개가 없다고 메시지가 나옵니다. 이와 같이 객체를 생성할 때는 self를 제외하고 __init__() 생성자에 정의한 개수만큼 전달값을 넘겨 줘야 합니다. 만약 클래스에 따로 생성자를 정의하지 않았다면 전달값 없이 클래스명만으로 객체를 생성하면 됩니다.

형식

변수명 = 클래스명()
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.