728x90
반응형
질문 : 객체에 Python 속성이 있는지 확인하는 방법
파이썬에서 객체에 속성이 있는지 확인하는 방법이 있습니까? 예를 들면 :
>>> a = SomeClass()
>>> a.someProperty = value
>>> a.property
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: SomeClass instance has no attribute 'property'
경우 어떻게 알 수 a
속성이 property
을 사용하기 전에를?
답변
hasattr()
시도 :
if hasattr(a, 'property'):
a.property
편집 : 용서를 구하는 것에 대한 좋은 조언을 제공하는 아래 zweiterlinde의 답변을 참조하십시오! 매우 비단뱀적인 접근 방식!
파이썬의 일반적인 관행은 속성이 대부분의 시간에있을 것 같으면 간단히 호출하고 예외가 전파되도록하거나 try / except 블록으로 트랩하는 것입니다. hasattr
보다 빠를 것입니다. 속성이 대부분 존재하지 않거나 확실하지 않은 경우 hasattr
을 사용하는 것이 반복적으로 예외 블록에 빠지는 것보다 빠를 것입니다.
출처 : https://stackoverflow.com/questions/610883/how-to-know-if-an-object-has-an-attribute-in-python
728x90
반응형
'프로그래밍 언어 > Python' 카테고리의 다른 글
[Python 3] pip를 설치하는 방법 (0) | 2022.03.26 |
---|---|
virtualenv 환경에서 Python 3 사용하기 (0) | 2022.03.26 |
버전 제어 하에서 IPython 노트북 사용 (0) | 2022.02.01 |
Python에서 날짜 범위 반복 하는 방법 (0) | 2022.01.17 |
Python의 알파벳 범위 (0) | 2022.01.17 |