반응형
소개
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] 사상 검증 도구 isinstance()
반응형
'함수 설명 > 기본 및 범용' 카테고리의 다른 글
[Python] 잔돈은 됐어요. int() (0) | 2024.07.11 |
---|---|
[Python] 넌 내 실수야... float() (0) | 2024.07.11 |
[Python] format()으로 격식갖추기 (0) | 2024.07.11 |
[Python] XX번 고객님~ 반복문에서 enumerate()로 인덱스와 함께 값 받기 (0) | 2024.07.07 |
[Python] 몫과 나머지 구하기 divmod() (0) | 2024.07.07 |