Language/Python

Python - hasattr(), object의 속성(attribute) 존재를 확인하는 함수

TechNote.kr 2018. 1. 2. 16:12
728x90


hasattr



>>> hasattr(object, name)


object의 속성(attribute) 존재를 확인한다.


만약 argument로 넘겨준 object 에 name 의 속성이 존재하면 True, 아니면 False를 반환한다. 


내부적으로 getattr(object, name)을 이용하는데 해당 함수 수행시 exception이 발생하는지 하지 않는지를 통해 판단한다. 


__builtin__ module에 포함된 function 이다. 



예제에 앞서 delattr 예제를 위한 object를 다름과 같이 먼저 생성한다. 

>>> class sample:
...     def __init__(self, x):
...             self.x = x
...
>>>
>>> c = sample(1)
>>> c.x
1


예제)


해당 object 에 name 속성이 존재하는 경우

>>> hasattr(c,'x')
True


해당 object 에 name 속성이 존재하지 않는 경우

>>> hasattr(c,'y')
False



참고>


setattr() - object의 속성(attribute) 값을 설정하는 함수

getattr() - object의 속성(attribute) 값을 확인하는 함수

delattr() - object의 속성(attribute)을 제거하는 함수

hasattr() - object의 속성(attribute) 존재를 확인하는 함수





>>> help(hasattr)


Help on built-in function hasattr in module __builtin__:


hasattr(...)

    hasattr(object, name) -> bool


    Return whether the object has an attribute with the given name.

    (This is done by calling getattr(object, name) and catching exceptions.)






728x90