SW개발/Python

[Python]hasattr(), getattr(), setattr() 함수란?

파이썬에는 변수가 있는지 확인하는 함수로 3가지가 존재한다. 하나씩 차례대로 알아보자.

 

hasattr(object, name)

object에 name 속성 존재하는지 여부를 확인한다.

class cls:
    a = 1
    def b(self):
        pass

# cls에 b가 존재할 경우 True 반환
print(hasattr(cls, 'b'))
True

 

getattr(object, name[, default])

object에 존재하는 name 속성의 값을 가져온다.

class cls:
    a = 1
    def b(self):
        pass

# cls에서 a의 값을 가져오기
print(getattr(cls, 'a'))
1

 

setattr(object, name, value)

object에 존재하는 name 속성의 값을 설정한다.

class cls:
    a = 1
    def b(self):
        pass

# cls에 a에 값 7 설정하기
setattr(cls, 'a', 7)

 

728x90