Programming/Python
함수 객체의 속성
scii
2013. 4. 28. 21:23
함수 객체는 여러 가지의 속성을 갖는다.
func_code
func_code는 함수의 코드 객체이다. 코드 객체는 '의사 컴파일(pseudo-compiled)' 된 실행 가능한 파이썬 코드이다. 코드 객체는 내장 compile() 함수에 의해 리턴되고 함수 객체의 func_code 속성으로 참조된다.
코드 객체는 코드에 관한 정보만을 가지고 있는 반면에 함수 객체는 함수를 수행하기 위한 여러 정보를 함께 가지고 있다.
예를 들어, 함수 객체는 기본적인 전역 공간을 가지고 있고, 함수 호출시 전달되지 않으면 자동 설정하는 기본 인수 값들을 가지고 있는 반면에 코드 객체는 그렇지 못하다. 또한 코드 객체는 변경 불가능한 자료형의 일종이다.
func_code 를 이용하여 함수를 호출할 일은 거의 없지만 유용한 정보를 추출해 내는 것은 가능하다.