반복문(Iterator) - for
다음으로 살펴볼 반복문은 for이다.
파이썬과 루비에서 사용하는 for문은 기존의 프로그래밍 언어와 조금 다르다.
인덱스로 접근하는 것이 아닌 for in 을 사용하는데, 자바스크립트에서 객체 순회를 생각하면 될 것이다.
for 키 in 컨테이너
for 문은 위의 구조를 가지며, 반복문이 실행될 때마다 지정한 컨테이너의 값들이 키 안으로 들어가게 된다.
이것이 파이썬과 루비에서 사용하는 for에 대한 규칙이다.
for문은 더이상 꺼내올 값이 없을때 종료된다.
while과 for를 비교하자면 for문이 훨씬 더 짧다.
그리고 for문은 반복문을 사용하기 위한 부품들이 한줄에 응축되어 있다.
또한 컨테이너를 하나하나씩 순회하는데 있어서 효율적인 코드라고 할 수 있다.
1 2 3 4 5 6 7 8 9 10 | #python members = ['user1', 'user2', 'user3'] for member in members: print(member) #ruby members = ['user1', 'user2', 'user3'] for member in members do puts(member) end | cs |
for 문을 사용하기 위해서 우선 컨테이너를 선언한다.
for in 을 컨테이너에 적용하면 해당 컨테이너를 순회하며 모든 값에 대해 코드가 실행된다.
위의 코드에서는 컨테이너 안의 데이터값을 모두 출력하는 연산을 수행한다.
파이썬에서는 for 문은 for "키" in "컨테이너" : 문법을 사용하며, 내부 코드는 블럭으로 구분되어 진다.
루비에서는 파이썬과 동일한 구조를 가지나, do 이후에 내부 코드가 구현되어야하며, end로 종료된다.
1 2 3 4 5 6 7 8 | #python for item in range(5, 11): print(item) #ruby for item in (5..10) do puts(item) end | cs |
for 문의 좀 더 재미있는 점은 range로 범위를 지정할 수 있다는 것이다.
파이썬에서는 range(시작, 끝), 루비에서는 (시작..끝)으로 범위를 지정할 수 있다.
만약 이렇게 반복문을 사용하면, 지정한 시작부터 끝까지의 범위만 반복하며 코드를 실행하게 된다.
만약 전달되어지는 인자가 하나라면 해당 숫자까지 반복을 실행한다.
출처 : 생활코딩, 파이썬&루비
'개발' 카테고리의 다른 글
[Javascript] 클로저(Closure) (0) | 2017.05.30 |
---|---|
[기술의역사] 자바(JAVA) (0) | 2017.05.29 |
[파이썬&루비] 반복문(Iterator) - while (0) | 2017.05.29 |
[파이썬&루비] 컨테이너(Container) (0) | 2017.05.29 |
[파이썬&루비] 입력과 출력(input/output) (0) | 2017.05.29 |
댓글