Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 hasattr() 함수 완벽 정리: 객체 속성 존재 여부 확인 방법

파이썬 hasattr() 함수란?

파이썬의 hasattr() 함수는 특정 객체에 지정한 이름의 속성(attribute)이 존재하는지 확인하는 내장 함수입니다. 속성이 존재하면 True를 반환하고, 존재하지 않으면 False를 반환합니다.

이 함수는 객체의 속성에 접근하기 전에 해당 속성이 실제로 있는지 미리 검사할 수 있어, AttributeError와 같은 예외 발생을 사전에 방지하는 데 매우 유용합니다.

hasattr() 문법

hasattr() 함수의 기본 문법은 다음과 같습니다.

hasattr(object, name)

매개변수 설명

  • object: 속성의 존재 여부를 확인할 대상 객체입니다.
  • name: 확인하려는 속성의 이름으로, 문자열(string) 형태로 전달해야 합니다.

반환값

  • True: 객체에 지정된 이름의 속성이 존재하는 경우
  • False: 객체에 지정된 이름의 속성이 존재하지 않는 경우

getattr()과의 관계

내부적으로 getattr() 함수가 호출될 때 hasattr()를 활용하여 AttributeError를 발생시켜야 하는지 여부를 판단합니다. 즉, 두 함수는 객체의 속성을 다룰 때 밀접하게 연관되어 동작합니다.

사용 예제

다음은 클래스 인스턴스에서 hasattr()를 사용하는 간단한 예제입니다.

class Male:
    age = 21
    name = 'x'

x = Male()
print('Male has age?:', hasattr(x, 'age'))
print('Male has salary?:', hasattr(x, 'salary'))

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Male has age?: True
Male has salary?: False

정리

hasattr() 함수는 객체에 특정 속성이 있는지 안전하게 확인할 수 있는 파이썬의 핵심 내장 함수입니다. 동적 속성 접근이 필요한 상황이나 외부 라이브러리 객체를 다룰 때 예외 처리 없이 깔끔한 코드를 작성하는 데 활용할 수 있습니다.