달력

2

« 2020/2 »

  •  
  •  
  •  
  •  
  •  
  •  
  • 1


 

 

weakref 정보 확인

weakref 패키지에는 약한 참조 객체의 개수와 목록을 조회할 있는 메소드를 제공합니다.

 

 

 

weakref.getweakrefcount()

weakref 개수 조회 함수

 

obj 객체를 약한 참조하고 있는 객체의 개수를 확인합니다.

weakref.getweakrefcount(obj)

 

 

 

 

weakref.getweakrefs()

weakref 목록 조회 함수

 

obj 객체를 약한 참조하고 있는 객체의 목록를 확인합니다.

weakref.getweakrefs(obj)

 

 


'Development > Python' 카테고리의 다른 글

이름 공간  (0) 2020.02.17
클래스와 인스턴스  (0) 2020.02.17
weakref 정보 확인  (0) 2020.02.16
weakref.proxy()  (0) 2020.02.16
weakref.ref()  (0) 2020.02.16
약한 참조 (Weak Reference)  (0) 2020.02.16
Posted by codedragon codedragon

댓글을 달아 주세요

2020. 2. 16. 21:52

weakref.proxy() Development/Python


 

 

weakref.proxy()

·         {weakref} 모듈의 proxy() 메소드입니다.

·         proxy(o) 객체 o 대한 약한 참조 프록시를 생성합니다.

·         참조 프록시를 이용하면 함수 형식을 사용하지 않아도 실제 객체를 바로 참조할 있습니다.

·         객체가 메모리에 남아 있지 않으면 ReferenceError: weakly-referenced object no longer exists 에러가 발생합니다.

·         내장 자료형 객체 (리스트, 튜플, 사전 ) 대해서는 약한 참조 프록시를 만들 없습니다.


 

 

weakref.proxy(o)

 

parameter

description

o

객체

 

 


'Development > Python' 카테고리의 다른 글

클래스와 인스턴스  (0) 2020.02.17
weakref 정보 확인  (0) 2020.02.16
weakref.proxy()  (0) 2020.02.16
weakref.ref()  (0) 2020.02.16
약한 참조 (Weak Reference)  (0) 2020.02.16
generator Expression  (0) 2020.02.16
Posted by codedragon codedragon

댓글을 달아 주세요

2020. 2. 16. 21:50

weakref.ref() Development/Python



 

 

 

 

weakref.ref()

·         {weakref} 모듈의 ref() 함수입니다.

·         인자로 받은 객체 o 대한 약한 참조를 생성합니다.

·         객체가 메모리에 남아 있지 않으면 None 반환합니다.

 

 

weakref.ref(o)

 

parameter

description

o

객체

 

 

 

약한 참조로 부터 실제 객체를 참조하는 방법

생성된 약한 참조 객체에 함수형태 호출합니다.

 

약한 참조 객체 r 생성

= weakref.ref(c) 

 

약한 참조로 부터 실제 객체를 참조하는 방법약한 참조 객체에 함수형태로 호출

print (r()) 

<__main__.MyClass object at 0x00000214D8706748>

 


'Development > Python' 카테고리의 다른 글

weakref 정보 확인  (0) 2020.02.16
weakref.proxy()  (0) 2020.02.16
weakref.ref()  (0) 2020.02.16
약한 참조 (Weak Reference)  (0) 2020.02.16
generator Expression  (0) 2020.02.16
import  (0) 2020.02.16
Posted by codedragon codedragon

댓글을 달아 주세요


 

 

약한 참조 (Weak Reference)

·         레퍼런스 카운트(reference count) 고려되지 않는 참조 객체를 생성합니다.

·         내장 자료형 객체 (리스트, 튜플, 사전 ) 대해서는 약한 참조를 만들 없습니다. 

 

 

 

 

 

약한 참조의 필요성

·         레퍼런스 카운트가 증가되지 않으므로 순환 참조가 방지됩니다.

·         다양한 인스턴스들 사이에서 공유되는 객체에 대한 일종의 캐시(Cache) 만드는 활용됩니다.

·         , 실제 객체가 사라지면 캐시역할을 하는 약한 참조에서도 해당 아이템이 제거되므로 효율적인 객체 소멸 관리 가능합니다.

 

 

 

 

 

순환 참조 (Cyclic Reference)

·         서로 다른 객체들 사이에 참조 방식이 순환 형태로 연결되는 방식을 의미합니다.

·         주기적으로 순환 참조를 조사하여 쓰레기 수집하는 기능이 있지만, CPU 자원 소비가 많습니다. 쓰레기 수집 빈도가 낮으면 순환 참조되는 많은 객체들이 메모리를 쓸데없이 점유하게 됩니다

 

 

 

 

약한 참조 모듈

·         weakref.ref(o)

·         weakref.proxy(o)

 

 

 


'Development > Python' 카테고리의 다른 글

weakref.proxy()  (0) 2020.02.16
weakref.ref()  (0) 2020.02.16
약한 참조 (Weak Reference)  (0) 2020.02.16
generator Expression  (0) 2020.02.16
import  (0) 2020.02.16
클래스 간의 관계 확인  (0) 2020.02.16
Posted by codedragon codedragon

댓글을 달아 주세요


 

 

generator Expression

·         generator Expression generator Comprehension라고도 합니다.

·         list Comprehension 외관상 유사합니다.  list Comprehension 앞뒤를 [...] 처럼 대괄호로 표현합니다.

·         generator Expression (...) 처럼 중괄호(둥근 괄호) 사용합니다.

·         generator Expression List Comprehension 달리 실제 리스트 컬렉션 데이터 전체를 리턴하지 않고, 표현식만을 갖는 generator 객체 리턴합니다. 실제 실행은 하지 않고, 표현식만 가지며 yield 방식으로 Lazy Operation 수행하게 됩니다.

 



 

list Comprehension vs generator Expression

 

list Comprehension

generator Expression

[...]

(...)

실제 리스트 컬렉션 데이터 전체를 리턴

표현식만을 갖는 generator 객체 리턴

 

 

 

 


'Development > Python' 카테고리의 다른 글

weakref.ref()  (0) 2020.02.16
약한 참조 (Weak Reference)  (0) 2020.02.16
generator Expression  (0) 2020.02.16
import  (0) 2020.02.16
클래스 간의 관계 확인  (0) 2020.02.16
String 상수  (0) 2020.02.16
Posted by codedragon codedragon

댓글을 달아 주세요

2020. 2. 16. 21:45

import Development/Python


 

 

 

 

import

모듈을 현재 이름공간으로 가져오는 역할을 합니다.

 

import 모듈1[, 모듈2[,... 모듈N]

 

 

 

 

 

모듈 사용하기

·       임포트후 간단하게 모듈을 사용 있습니다.

·       모듈이름 뒤에 '.'(도트 연산자)를 붙이고 함수 이름등 멤버이름을 써서 사용할 있습니다.

 

 

모듈명.멤버명

 

 

 

 

 

 


'Development > Python' 카테고리의 다른 글

약한 참조 (Weak Reference)  (0) 2020.02.16
generator Expression  (0) 2020.02.16
import  (0) 2020.02.16
클래스 간의 관계 확인  (0) 2020.02.16
String 상수  (0) 2020.02.16
상속 관계에 있는 클래스들의 정보 획득  (0) 2020.02.15
Posted by codedragon codedragon

댓글을 달아 주세요



 

 

 

클래스 간의 관계 확인

issubclass()내장 함수를 통해 클래스 간의 상속 관계를 확인할 있습니다.

 

클래스가 상속관계이면 True, 아니면 False 반환합니다.

issubclass(자식 클래스, 부모 클래스)

 

 

 

 

 

 


'Development > Python' 카테고리의 다른 글

generator Expression  (0) 2020.02.16
import  (0) 2020.02.16
클래스 간의 관계 확인  (0) 2020.02.16
String 상수  (0) 2020.02.16
상속 관계에 있는 클래스들의 정보 획득  (0) 2020.02.15
내장 자료형과의 클래스 통일  (0) 2020.02.15
Posted by codedragon codedragon

댓글을 달아 주세요

2020. 2. 16. 21:01

String 상수 Development/Python


 

String 상수

 

상수명

설명

string.ascii_lowercase

영문 소문자

abcdefghijklmnopqrstuvwxyz

string.ascii_uppercase

영문 대문자

ABCDEFGHIJKLMNOPQRSTUVWXYZ

string.ascii_letters

소문자와 대문자를 합친 영문자 전체

string.digits        

10진수 숫자

0123456789

string.hexdigits

16진수 숫자

0123456789abcdefABCDEF

string.octdigits

8진수 숫자

01234567

string.punctuation

기호 문자열

!”#$%&’()*+,-./:;<=>?@[]^_’{|}~

string.whitespace

공백으로 취급되는 문자열

\t\n\r\x0b\x0c

string.printable

ascii_letter, digits, punctuation, whitespace 포함한 문자열

 

 


'Development > Python' 카테고리의 다른 글

import  (0) 2020.02.16
클래스 간의 관계 확인  (0) 2020.02.16
String 상수  (0) 2020.02.16
상속 관계에 있는 클래스들의 정보 획득  (0) 2020.02.15
내장 자료형과의 클래스 통일  (0) 2020.02.15
__call__  (0) 2020.02.15
Posted by codedragon codedragon

댓글을 달아 주세요