getattr
>>> getattr(object, name[, default])
object에 존재하는 속성의 값을 가져온다.
__builtin__ module에 포함된 function 이다.
예제에 앞서 getattr 예제를 위한 object를 다름과 같이 먼저 생성한다.
>>> class sample: ... def __init__(self, x): ... self.x = x ... >>> >>> c = sample(1) >>> c.x 1
예제)
기존 속성의 값을 가져오는 경우
>>> getattr(c, 'x') 1
getattr을 사용하지 않고, c.x를 하여도 동일한 결과를 얻을 수 있다.
>>> c.x 1
기존에 존재하지 않는 속성을 가져오려 하는 경우 (기본값이 없는 경우)
>>> getattr(c, 'z') Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: sample instance has no attribute 'z'
기존에 존재하지 않는 속성을 가져오려 하는 경우 (기본값이 있는 경우)
>>> getattr(c, 'z', 10) 10
참고>
setattr() - object의 속성(attribute) 값을 설정하는 함수
getattr() - object의 속성(attribute) 값을 확인하는 함수
delattr() - object의 속성(attribute)을 제거하는 함수
hasattr() - object의 속성(attribute) 존재를 확인하는 함수
>>> help(getattr)
Help on built-in function getattr in module __builtin__:
getattr(...)
getattr(object, name[, default]) -> value
Get a named attribute from an object; getattr(x, 'y') is equivalent to x.y.
When a default argument is given, it is returned when the attribute doesn't
exist; without it, an exception is raised in that case.
'Language > Python' 카테고리의 다른 글
Python - range(), 순차적인 숫자를 가지는 list를 생성하는 함수 (0) | 2018.01.03 |
---|---|
Python - float(), 실수(float)를 반환하는 클래스 (0) | 2018.01.02 |
Python - hasattr(), object의 속성(attribute) 존재를 확인하는 함수 (0) | 2018.01.02 |
Python - delattr(), object의 속성(attribute)을 제거하는 함수 (0) | 2018.01.02 |
Python - setattr(), object의 속성(attribute) 값을 설정하는 함수 (0) | 2018.01.02 |
Python - complex(), 복소수(complex)를 반환하는 클래스 (0) | 2017.12.29 |
Python - cmp(), 전달받은 두 object를 비교하는 함수 (0) | 2017.12.29 |
Python - chr(), 전달받은 정수를 ASCII character로 변환하는 함수 (0) | 2017.12.29 |