@클로저함수
함수안에 또다른 함수가 선언되어 반환되는 것을 클로저 함수라고 한다.
- 전역변수를 사용하지 않음
- 내부 데이터의 은닉에 활용
<참조>
http://jonnung.blogspot.kr/2014/09/python-easy-closure.html |
@장식자 - 데코레이터
데코레이터의 개념은 일종의 래핑(wrapping) 함수
실행되는 함수를 파라미터로 받아서 실행되는 함수
#!/usr/bin/python def elapsed_time(functor): @elapsed_time |
<참조>
http://pyengine.blogspot.kr/2011/07/python-decorator.html |
@생성기와 yield
yield 를 이용하여 데이터를 반환
생성 시점에 호출되지 않음
for 문이나 next() 가 호출되었을 때 실제 사용됨
파일읽기등에 사용하면 메모리를 효율적으로 사용할 수 있음
def read_in_chunks(file_object, chunk_size=102400):
f = open(file_url, 'rb') |
@코루틴과 yield
코루틴을 장식자로 선언
장식자는 코루틴을 선언할 경우 자동으로 next 를 호출해주는 역활을 한다.
(코루틴은 선언하고 next()를 호출해 주어야 사용 가능한 상태가 된다. )
yield 를 단독으로 사용하여 데이터를 입력받는 용도로 사용
#!/usr/bin/python # Example use |
#!/usr/bin/python def coroutine(func): @coroutine @coroutine |
@생성기 표현식
list1 = [ i for i in a]
list2 = ( i for i in a)
소괄호를 이용하면 생성기가 됨
for 문 처리 시점에 데이터를 순차적으로 생성함
'python' 카테고리의 다른 글
[python] 문자열 치환 방법 (0) | 2015.06.12 |
---|---|
[python] subprocess 모듈을 이용한 명령어 실행 (1) | 2015.06.11 |
[python][xlswriter] xlsxwriter 의 메모리 점유해제를 위한 constant_memory 모드 설정 (0) | 2015.02.04 |
[파이선2] 파이선2의 한글 인코딩 비교하기 (2) | 2015.01.12 |
Python 에 한글 입력하기 (0) | 2015.01.09 |