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

파이썬 getattr() 함수란? 개념부터 사용법까지 한눈에 정리

파이썬 getattr() 함수란 무엇인가?

파이썬의 getattr() 함수는 객체에서 지정한 이름의 속성(attribute) 값을 가져오는 내장 함수입니다. 만약 해당 속성이 존재하지 않으면, 함수에 미리 전달해 둔 기본값(default)을 대신 반환합니다.

일반적으로 객체 속성에 접근할 때 obj.name처럼 점(.) 연산자를 사용하지만, 속성 이름을 문자열로 동적으로 다뤄야 하는 상황에서는 getattr()이 매우 유용하게 활용됩니다.

getattr() 기본 문법

getattr() 메서드의 기본 문법은 다음과 같습니다.

getattr(object, name[, default])

매개변수 설명

  • object: 속성 값을 가져올 대상 객체
  • name: 찾고자 하는 속성의 이름(문자열)
  • default (선택): 속성이 존재하지 않을 때 반환할 기본값

반환값

  • 객체에서 지정한 이름의 속성 값
  • 속성이 존재하지 않으면 default로 지정한 값
  • 속성도 없고 default도 정의되지 않았다면 AttributeError 예외 발생

getattr() 사용 예제

아래 예제는 getattr()을 사용해 클래스 인스턴스의 속성 값을 조회하는 방법을 보여줍니다.

class Male:
    age = 21
    name = "Abel"

x = Male()

print('나이:', getattr(x, "age"))
print('나이:', x.age)

실행 결과

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

나이: 21
나이: 21

마무리 정리

getattr(x, "age")x.age가 동일한 결과를 반환하는 것을 확인할 수 있습니다. 두 방식의 차이점은 getattr()은 속성 이름을 문자열로 전달한다는 점입니다.

따라서 속성 이름을 실행 중에 동적으로 결정해야 하거나, 존재하지 않는 속성 접근 시 예외 대신 기본값으로 안전하게 처리하고 싶을 때 getattr() 함수를 활용하면 코드의 유연성과 안정성을 모두 높일 수 있습니다.