제너레이터 표현식 언제 사용하나?

매일 공부(ML)·2023년 4월 11일
0

Fluent Python

목록 보기
103/130

제어 흐름

반복형, 반복자, 제너레이터

제너레이터 표현식은 언제 사용하나

.eq(), hash(), abs(), angle(), format(), add(), mul() 메서드가 각각 제너레이터 표현식을 사용하고 메서드에서 지능형 리스트를 사용해도 제대로 작동하겠지만, 중간의 리스트 값을 저장하기 위한 메모리를 더 많이 사용한다.


제너레이터 함수는 융통성이 높기에 여러 문장으로 구성된 복잡한 논리를 구현할 수 있고 코루틴으로 사용도 가능하다.


**제너레이터 표현식을 함수나 생성자에 단일 인수로 전달할 때는 함수를 호출하는 괄호 안에서 제너레이터 표현식을 괄호로 에워쌀 필요가 없고 mul() 메서드에서 Vector() 생성자를 호출할 때 본 것처럼 한 쌍의 괄호만 사용하면 된다.


def __mul__(self, scalar):
	if isinstance(scalar, numbers, Real):
    	return Vector(n * scalar for n in self)
    else:
    	return NotImplemented
profile
성장을 도울 아카이빙 블로그

0개의 댓글