더북(TheBook)

15.7 디버깅

객체를 사용하다 보면 몇 가지 새로운 예외에 마주치게 될 것이다. 존재하지 않는 속성에 접근하려 하면 AttributeError가 발생한다.

>>> p = Point()

>>> p.x = 3

>>> p.y = 4

>>> p.z

AttributeError: Point instance has no attribute 'z'

객체의 타입이 무엇인지 확실하지 않다면 물어볼 수 있다.

>>> type(p)

<class '_ _main_ _.Point'>

객체가 클래스의 인스턴스인지 확인할 때는 isinstance를 사용한다.

>>> isinstance(p, Point)

True

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.