객체에 어떤 속성이 있는지 확실하지 않다면 내장 함수 hasattr를 사용할 수 있다.
>>> hasattr(p, 'x')
True
>>> hasattr(p, 'z')
False
첫 번째 인수에는 어떤 객체라도 쓸 수 있지만, 두 번째 인수는 속성 이름이 들어 있는 문자열이어야 한다.
객체에 원하는 속성이 있는지 알아보기 위해 try 문을 사용하는 방법도 있다.
try:
x = p.x
except AttributeError:
x = 0
이러한 방법을 사용하면 다양한 타입에 대해 동작하는 함수를 좀 더 쉽게 작성할 수 있다. 이에 대해서는 285쪽의 “다형성”에서 더 자세히 다룬다.