Python - hasattr(), object의 속성(attribute) 존재를 확인하는 함수
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.)