개발자 블로그

object(객체)의 attribute(속성 값)의 접근 가능한 함수 본문

파이썬/알쓸신잡

object(객체)의 attribute(속성 값)의 접근 가능한 함수

hayongwoon 2022. 6. 21. 20:34

 장고의 프로젝트를 하며 메소드를 커스텀 할 일이 많았다. 기존의 예를 들어 시리얼라이즈의 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