본문 바로가기
개발

[파이썬&루비] 반복문(Iterator) - for

by 마스터누누 2017. 5. 29.
728x90
반응형

반복문(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(511):
    print(item)
 
#ruby
for item in (5..10do
  puts(item)
end
cs


for 문의 좀 더 재미있는 점은 range로 범위를 지정할 수 있다는 것이다.

파이썬에서는 range(시작, 끝), 루비에서는 (시작..끝)으로 범위를 지정할 수 있다.

만약 이렇게 반복문을 사용하면, 지정한 시작부터 끝까지의 범위만 반복하며 코드를 실행하게 된다.

만약 전달되어지는 인자가 하나라면 해당 숫자까지 반복을 실행한다.



출처 : 생활코딩, 파이썬&루비


반응형

댓글