파비의 매일매일 공부기록

getattr 함수를 활용하기 본문

Study/Python

getattr 함수를 활용하기

fabichoi 2021. 9. 2. 23:30

Object를 사용하다 보면 가끔 변수에 값이 없거나 변수 자체가 없는 경우가 있다.

그럴 때는 에러가 발생하므로 None을 반환해주는 등의 에러 처리를 해줘야 한다.

 

예를 들어 아래와 같이 Abc라는 클래스가 있을 때,

class Abc():
    def __init__():
        self.a = 'a'
        self.b = 'b'
        self.c = 'c'

아래와 같이 Object의 Attribute에 접근을 할 수 있다.

obj = Abc()
a = getattr(obj, 'a')
b = getattr(obj, 'b')
c = getattr(obj, 'c')
d = getattr(obj, 'd') # 에러 발생
d = getattr(obj, 'd', None) # 에러 처리

마지막에서 두 번째 줄의 경우 Attribute가 없는데 접근하려고 하면 AttributeError가 발생한다.

이를 처리해주려면 마지막 줄처럼 써주면 된다.

 

오늘 이걸 몰라서 if을 썼던 터라, 나중에 비슷한 상황이 나오면 활용하면 좋을 것 같아 포스팅한다.

반응형
Comments