본문 바로가기

Python31

[Python] Lambda 람다란? 람다는 인라인 함수를 정의할 때 사용되며 익명 함수 또는 람다 표현식 이라고 부릅니다. 일반 함수 표현식 def name(arg1, arg2 ...): block of statement def add(num1,num2): return num1 + num2 print(add(1,2) # 결과 3 람다와 일반 함수의 차이점 1. 이름의 유무 2. 함수 내부에서 처리하는 로직이 block형식이냐 inline 형식이냐 람다의 표현식 lambda argument1, argument2, ... argumentN : expression using arguments f = lambda num1,num2 : num1+num2 print(f(1,2)) # 결과 3 람다는 언제 유용하게 사용할 수 있을까요.. 간단.. 2020. 6. 27.
[Python] Generator Or Iterator 코드 분석 실습 다음 코드를 실행해 보고 결과를 분석하는 과정입니다. 저의가 풀어얄 할 과정은 3개 입니디. lazy evaluation 이란 무엇인가요 lazy evaluation을 왜 하는 지와 장점은 무었일까요? list 컴프리헨션과 제너레이터의 차이점은 무었일까요? import time L = [1, 2, 3] def print_iter(iter): for element in iter: print(element) def lazy_return(num): print("sleep 1s") time.sleep(1) return num print("comprehension_list=") comprehension_list = [lazy_return(i) for i in L] print_iter(comprehension_li.. 2020. 6. 27.
[Python] 이터레이터(Iterator) iteration 이란 시전적 의미로는 1. 되풀이, 2. 반복 이라는 의미를 가지고 있습니다. 리스트, 집합, 딕셔너리와 같은 타입니다, 문자열은 for -in 구문을 통해 반복적으로 하나씩 데이터를 처리합니다. 이와 같이 여러 개의 데이터를 포함한 타입중에서 반복적으로 하나하나 꺼내어 처리가능한 컬렉션이나 Sequence 들을 순환기능(iterable) 객체라고 합니다. iterator는 next()함수를 구현한 객체를 말하며 next() 함수는 순환기능 한 객체의 다음 원소를 반환합니다. 파이썬의 iterable형은 : list, dict set bytes, tuple, range iter() 함수는 : itorable형 객체를 iterator 객체로 만드는 파이썬 내장함수 비교 n = 100 n_.. 2020. 6. 27.
[Python] 제너레이터(generator) 제너레이터 란? generaotr 객체는 모든 값을 메모리에 올려두고 이용하는 것이 아니라 필요할 때마다 생성해서 반환하는 일을 한다. 이 때문에 메모리를 효율적으로 사용할 수 있다는 장점이 있다. 제너레이터를 이용한 for 문 my_generator = (x for x in range(1,4)) for n in my_generator: print(n) print(type(my_generator)) # 실 행 겨 과 1 2 3 반복자와 동일한 일을 하는 것처럼 보이지만 여기에서 생성된 1,2,3을 미리 메모리에 만들어 두는 것이 아니라 for 문에서 필요로 할 때마다 my_generator로 받아오며 메모리에서 보관하지 않는다 이를 lazy evaluation 이라 한다) Yield 일반적인 함수의 re.. 2020. 6. 27.