hasattr(object, name) / getattr(object, name) / setattr(object, name)
2021. 6. 15. 15:30ㆍPython
728x90
object의 속성(attribute) 존재를 확인한다.
만약 argument로 넘겨준 object 에 name 의 속성이 존재하면 True, 아니면 False를 반환한다.
__builtin__ module에 포함된 function
내부적으로 getattr(object, name)을 이용 -> 수행시 exception이 발생하는지 하지 않는지를 통해 판단
class cls:
a = 1
def __init__(self):
self.x = 3
def b(self):
pass
# cls에 b라는 멤버가 있는지 확인
print(hasattr(cls, 'b'))
# cls에 x라는 멤버가 있는지 확인
print(hasattr(cls, 'x'))
# cls에서 a변수의 값 가져오기
print(getattr(cls, 'a'))
# cls의 a라는 변수에 값 9 설정하기
print(setattr(cls, 'a', 9))
print('-------------------------')
# 인스턴스 변수인 x에 대해 확인
c = cls()
print(hasattr(cls, 'x'))
print(hasattr(c, 'x'))
결과
728x90
'Python' 카테고리의 다른 글
[Python] __call__함수 (0) | 2021.07.26 |
---|---|
[python] *args , **kwargs (0) | 2021.07.19 |
class 이름/ class 변수 참조 (0) | 2021.06.15 |
__getitem__ (0) | 2021.05.21 |
Python argparse (0) | 2021.05.09 |