본문 바로가기
함수 설명/기본 및 범용

[Python] 이거 확인해봐! hasattr()

by First Adventure 2024. 7. 11.
반응형

소개

  hasattr 함수는 객체가 특정 속성을 가지고 있는지 여부를 검사하는 파이썬 내장 함수입니다. 이 함수는 주어진 객체와 속성 이름을 인수로 받아, 해당 속성이 객체에 존재하면 True, 그렇지 않으면 False를 반환합니다.

 

기본 사용법

상세 설명

  • hasattr 함수의 기본 구문은 hasattr(object, name)입니다.
    • object: 속성을 검사할 객체입니다.
    • name: 속성의 이름을 나타내는 문자열입니다.
  • hasattr 함수는 주어진 객체에 특정 속성이 있는지를 확인하여, 존재하면 True, 존재하지 않으면 False를 반환합니다.
  • 이 함수는 주로 객체의 속성 존재 여부를 동적으로 확인하고, 조건부로 속성에 접근할 때 유용합니다.

예시 설명

  • hasattr(obj, "attribute")는 객체 obj가 attribute 속성을 가지고 있는지 확인하여, 존재하면 True를 반환합니다.
  • hasattr([], "append")는 리스트 객체가 append 메서드를 가지고 있는지 확인하여, 존재하면 True를 반환합니다.
  • 조건문과 함께 사용하여, 속성이 존재할 때만 안전하게 해당 속성에 접근할 수 있습니다.
# 객체 속성 존재 여부 확인
class Example:
    def __init__(self):
        self.attribute = "value"

obj = Example()
print(hasattr(obj, "attribute"))  # 출력: True
print(hasattr(obj, "missing"))    # 출력: False

# 내장 속성 확인
print(hasattr([], "append"))  # 출력: True
print(hasattr([], "missing")) # 출력: False

# 동적 속성 접근 전 확인
class Example:
    def __init__(self):
        self.attribute = "value"

obj = Example()
if hasattr(obj, "attribute"):
    print(obj.attribute)  # 안전하게 속성 접근

 

라이센스

  Python의 표준 라이브러리와 내장 함수들은 Python Software Foundation License (PSFL) 하에 배포됩니다. 자세한 라이센스 내용은 Python 공식 라이센스 페이지에서 확인할 수 있습니다.

 

마무리

  자주 사용하는 함수는 아닙니다. 다만 마지막 예시와 같이 속성에 접근할 때, 검사하는 용도로 쓰는 경우를 종종 볼 수 있습니다.

 

관련 내용

  [Python] 예림이 그 패 봐봐! getattr()로 객체 속성 가져오기

 

반응형