개발자 블로그
object(객체)의 attribute(속성 값)의 접근 가능한 함수 본문
장고의 프로젝트를 하며 메소드를 커스텀 할 일이 많았다. 기존의 예를 들어 시리얼라이즈의 update 함수를 커스텀 할 때, 기존의 인스턴스를 받아 사용자로 부터 받은 값들을 변경 해주어야하는 함수를 만드는 과정에서 아래와 같은 함수를 알면 좀 이해의 도움이 된다.
그리고 이 외에도 객체의 속성값에 직접 접근하여 값을 수정 및 반환할 수 있지만, 메소드를 사용하여 어트리뷰트의 접근하는 이유는 객체의 본질을 깨지 않게 하기 위함으로 객체가 쉽게 변형이 되지 않게 하기 위함이다.
1. getattr(object, attribute_name [, default])
매개변수로는 객체와 속성 값의 이름, default를 설정할 수 있고, 해당 어트리뷰트의 value를 가져오는 함수이다. 해당 필드가 없다면 디폴트 값이 나온다.
2. setattr(object, attribute_name, value)
속성값을 수정할 때 사용하는 메소드이다. 객체와 해당하는 속성의 이름을 매개변수로 넣은 value로 값을 수정할 수 있다.
3. hasattr(object, attribute_name)
해당 객체의 attribute가 존재하는지 여부를 알려준다. True or False 반환
4. delattr(object, attribute_name)
객체에서 해당하는 속성을 삭제하는 메소드
'파이썬 > 알쓸신잡' 카테고리의 다른 글
재귀함수와 스택 메모리 (0) | 2022.08.16 |
---|---|
함수에서 디폴트 파라미터 사용 시 주의사항 (0) | 2022.08.16 |
파이썬 메모리 구조 (0) | 2022.06.28 |
Variable Scope (0) | 2022.06.27 |
eval() 메소드 (0) | 2022.06.08 |