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