프로그래밍 언어를 이해하는데 중요한 키워드들이 여러 개 있습니다. 키워드를 중심으로 관련된 주제들을 모아서 살펴보는 글을 작성해 보려고 합니다. 소프트웨어 개발과 프로그래밍 언어에 관련된 이야기들을 키워드를 중심으로 풀어보는 시리즈입니다. 두 번째 키워드는 지연계산(delayed evaluation 또는 lazy evaluation)이라고 하는 명령형 프로그램의 실행 순서와는 좀 다른 계산 순서의 개념을 살펴보겠습니다. 이것은 함수 호출 시 매개변수의 계산에 관련된 것으로 명령형 프로그램은 매개변수 부분에 있는 수식의 계산을 모두 끝낸 후 함수를 호출할 수 있습니다. 그것을 applicative order라고 부릅니다. 즉 test(f(g()))라는 코드가 있다면 g()를 먼저 계산하고 다음에 그 값으로..
컴프리헨션과 제너레이터 수식을 살펴보겠습니다. 제너레이터는 좀 어려운 개념이긴 하지만 파이썬에서 정말 중요한 핵심이라고 할 수 있고 파이썬의 강력한 힘은 여기서 나온다고 해도 과언이 아닙니다. 컴프리헨션은 이전의 포스트에서 다루었는데, 사실 리스트 컴프리헨션이라고 하는 것이 더 적합합니다. 리스트를 생성하거나 변환하는 일을 아주 간결한 코드로 강력하게 할 수 있는 기능입니다. 이전 포스트에서도 얘기했지만 리스트 컴프리헨션은 파이썬의 가장 강력하고 편리한 기능 중 하나입니다. comp_list = [x*x for x in mylist if x % 2 == 1] --- (i) 제너레이터 수식은 리스트 컴프리헨션과 똑같이 만들어지는데 대괄호 [ ] 대신 괄호 ( )를 씁니다. gen_expr = (x*x fo..
- Total
- Today
- Yesterday
- 자바regex
- contains
- comparable
- 지연계산
- format
- python exercise
- C++ 클래스
- 동적바인딩
- 콜렉션
- contentEquals
- Iterator
- Camel Style
- typedef
- APPEND
- 스트링 +
- indexof
- 패턴
- rust
- sort key
- follow
- 이터레이터
- python example
- CompareTo
- 이터러블
- Lazy evaluation
- 스트링
- zip
- TypeError
- max
- ToString
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |