본문 바로가기
Python/Python FAQ

Python 객체가 속성을 가지고 있는지 확인하는 방법은 무엇인가요?, How do I check if an object has an attribute?

by 베타코드 2023. 5. 7.
반응형

질문


객체에 어떤 속성이 있는지 확인하는 방법은 무엇인가요? 예를 들어:

>>> a = SomeClass()
>>> a.property
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: SomeClass instance has no attribute 'property'

aproperty 속성을 가지고 있는지 사용하기 전에 어떻게 알 수 있나요?


답변


다음을 시도하십시오. hasattr():

if hasattr(a, 'property'):
    a.property

아래 zweiterlinde의 답변을 참조하십시오. 그는 용서를 구하는 것에 대한 좋은 조언을 제공합니다! 매우 파이썬적인 접근 방식입니다!

파이썬의 일반적인 관행은, 속성이 대부분 있을 것으로 예상된다면, 그냥 호출하고 예외를 전파하거나 try/except 블록으로 예외를 처리하는 것입니다. 이렇게 하면 hasattr보다 빠를 가능성이 높습니다. 속성이 대부분 없을 것으로 예상되거나 확신이 없다면, hasattr을 사용하는 것이 예외 블록에 반복해서 빠지는 것보다 빠를 것입니다.

반응형

댓글