더북(TheBook)

객체에 어떤 속성이 있는지 확실하지 않다면 내장 함수 hasattr를 사용할 수 있다.

>>> hasattr(p, 'x')

True

>>> hasattr(p, 'z')

False

첫 번째 인수에는 어떤 객체라도 쓸 수 있지만, 두 번째 인수는 속성 이름이 들어 있는 문자열이어야 한다.

객체에 원하는 속성이 있는지 알아보기 위해 try 문을 사용하는 방법도 있다.

try:

x = p.x

except AttributeError:

x = 0

이러한 방법을 사용하면 다양한 타입에 대해 동작하는 함수를 좀 더 쉽게 작성할 수 있다. 이에 대해서는 285쪽의 다형성에서 더 자세히 다룬다.

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