Development/Python(798)
-
이름 공간
이름 공간클래스 객체과 인스턴스 객체의 이름공간은 다릅니다. 클래스 멤버 vs 인스턴스 멤버
-
클래스와 인스턴스
클래스와 인스턴스 · 일반적으로 클래스는 멤버변수와 멤버메소드를 가지고 있습니다. · 클래스를 정의하면 클래스 객체(class object)가 생성되고 독립적인 이름공간이 만들어 집니다. 이 이름공간안에 멤버변수와 멤버메소드가 존재하게 됩니다. · 클래스를 사용하기위해서는 인스턴스 객체(instance object)를 만들어야 합니다. · 클래스명을 함수형태로 호출하여 인스턴스 객체가 생성되고 독립적인 이름공간이 만들어 지게 됩니다. 기본적으로 인스턴스 객체가 변경되기 전까지는 클래스 객체와 동일한 데이터와 메소드를 가집니다.
-
weakref 정보 확인
weakref 정보 확인 weakref 패키지에는 약한 참조 객체의 개수와 목록을 조회할 수 있는 메소드를 제공합니다. weakref.getweakrefcount() weakref 개수 조회 함수 obj 객체를 약한 참조하고 있는 객체의 개수를 확인합니다. weakref.getweakrefs(obj)
-
weakref.proxy()
weakref.proxy() · {weakref} 모듈의 proxy() 메소드입니다. · proxy(o)는 객체 o에 대한 약한 참조 프록시를 생성합니다. · 참조 프록시를 이용하면 함수 형식을 사용하지 않아도 실제 객체를 바로 참조할 수 있습니다. · 객체가 메모리에 남아 있지 않으면 ReferenceError: weakly-referenced object no longer exists 에러가 발생합니다. · 내장 자료형 객체 (리스트, 튜플, 사전 등)에 대해서는 약한 참조 프록시를 만들 수 없습니다. weakref.proxy(o)
-
weakref.ref()
weakref.ref() · {weakref} 모듈의 ref() 함수입니다. · 인자로 받은 객체 o에 대한 약한 참조를 생성합니다. · 객체가 메모리에 남아 있지 않으면 None을 반환합니다. parameter description o 객체 약한 참조로 부터 실제 객체를 참조하는 방법 생성된 약한 참조 객체에 함수형태 호출합니다. # 약한 참조 객체 r 생성 r = weakref.ref(c) # 약한 참조로 부터 실제 객체를 참조하는 방법: 약한 참조 객체에 함수형태로 호출 print (r())
-
약한 참조 (Weak Reference)
약한 참조 (Weak Reference) · 레퍼런스 카운트(reference count)로 고려되지 않는 참조 객체를 생성합니다. · 내장 자료형 객체 (리스트, 튜플, 사전 등)에 대해서는 약한 참조를 만들 수 없습니다. 약한 참조의 필요성 · 레퍼런스 카운트가 증가되지 않으므로 순환 참조가 방지됩니다. · 다양한 인스턴스들 사이에서 공유되는 객체에 대한 일종의 캐시(Cache)를 만드는 데 활용됩니다. · 즉, 실제 객체가 사라지면 캐시역할을 하는 약한 참조에서도 해당 아이템이 제거되므로 효율적인 객체 소멸 관리가 가능합니다. 순환 참조 (Cyclic Reference) · 서로 다른 객체들 사이에 참조 방식이 순환 형태로 연결되는 방식을 의미합니다. · 주기적으로 순환 참조를 조사하여 쓰레기 수집..