이 포스팅에선 반목문에 대해서 알아보겠습니다. 파이썬(Python)에서 반복문은 while과 for를 사용해서 만들 수 있습니다.
While
먼저 while을 알아볼께요. while은 while 조건: 의 형태를 띄고 있습니다. 이는 앞서 배운 if와 비슷합니다. 다만 차이점은 if는 한번 검사하고 끝나지만 while은 조건이 참(True)라면 계속적으로 실행이 된다는 것이죠. 아래 코드로 확인해 볼께요.
a = 1
# if문은 한번만 조건은 검사합니다.
if a == 1:
print('a is 1')
# while문은 조건이 참(True)라면 계속 반복적으로 관련 코드 블럭을 실행합니다.
while a == 1:
print('a is 1')
이번엔 while 구문이 일정 횟수만 동작하도록 해볼께요. while 문에 조건을 a가 5보다 작다고 설정하고 while 루프 안에서 a를 1씩 증가시켜주면 다섯번 반복 후 조건이 거짓이 되어(변수 a 가 5보다 크게 되어서) while 문을 빠져나가게 됩니다.
a = 1
# while문은 조건이 참(True)라면 계속 반복적으로 관련 코드 블럭을 실행합니다.
while a <= 5:
print('a is 1')
a = a + 1
# 실행 결과
# a is 1
# a is 1
# a is 1
# a is 1
# a is 1
For
이번엔 for 구문을 알아볼께요.
for 구문도 while 구문과 비슷하게 반복적으로 코드를 실행 시켜주는 역할을 합니다. for 구문은 아래와 같이 정의할 수 있습니다.
for a in B:
do_something(a)
위의 코드에서 B는 리스트(Lists)와 같이 여러개의 아이템을 담을 수 있는 데이터 타입이 됩니다. for a in B: 라고 하는 구문은 B에 들어있는 모든 아이템들을 처음부터 끝까지 순서대로 a에 넣고 관련 코드블럭을 반복하라는 의미입니다. 위의 코드를 실제 동작하는 코드롤 다시 써볼께요.
my_list = [1, 2, 3]
for a in my_list: # my_list의 아이템을 처음부터 순차적으로 가져와서 a에 할당시킵니다.
print(a) # 그리고 a를 출력하는 함수를 호출합니다.
# 결과적으로, my_list의 아이템들이 순차적으로 출력이 됩니다.
# 1
# 2
# 3
break
만약 반복문을 반복하는 중간에 반복문을 빠져나와야 한다면 어떻게 해야 할까요? 이런 경우에는 break라는 키워드를 사용할 수 있습니다. 반복문의 코드블럭에서 어떤 조건이 만족되었을때 break 키워드가 나오면 바로 루프를 빠져나오게 되죠. (for, while 반복문 에서 모두 사용할 수 있습니다)
my_list = [1, 2, 3, 4, 5, 6, 7]
for a in my_list: # my_list의 아이템을 처음부터 순차적으로 가져와서 a에 할당시킵니다.
if a == 4: # 순차적으로 루프가 반복되다가 a가 4가 되면
break # break 를 통해서 루프를 종료합니다.
else: # a 가 4가 아니라면
print(a) # a를 출력하는 함수를 호출합니다.
print('for loop is done') # 루프를 빠져나오면 루프가 끝났다는 메세지를 출력합니다.
# 1
# 2
# 3
# for loop is done
continue
반복문에서 break와 상반되는 의미의 continue라는 키워드도 존재합니다. continue는 루프에서 continue 구문이 실행된다면 그 이후의 코드는 실행하지 않고 다음 루프를 순회하라는 키워드입니다. (for, while 반복문 에서 모두 사용할 수 있습니다)
my_list = [1, 2, 3, 4, 5]
for a in my_list:
if a < 5: # a 가 5보다 작다면
continue # 아래 코드를 실행하지 않고 다음 루프로 넘어갑니다.
print(a) # 따라서, a가 5보다 작은 경우에 print() 함수는 호출되지 않게 되죠.
# 5
반복문의 중첩
반복은은 여러번 중첩되어 사용될 수 있습니다. 하지만 반복문이 너무 많이 중첩되면 코드를 이해하기 어려워지기 때문에 상황에 맞게 잘 사용해야 합니다. 아래는 for 반복문이 두번 중첩되어 사용된 경우입니다.
my_list1 = [1, 2]
my_list2 = [3, 4]
for a in my_list1:
for b in my_list2: # 반복문 안에 새로운 for 반복문이 사용되었습니다.
print(a + b)
# 4
# 5
# 5
# 6
이번 강좌는 여기서 마치도록 하겠습니다.
'파이썬 > [누구나! 완전 기초 파이썬]' 카테고리의 다른 글
#9 클래스(Class) (0) | 2020.10.05 |
---|---|
#8 함수(Functions) (0) | 2020.09.26 |
#6 조건문 (if ~ else ~) (0) | 2020.09.23 |
#5 리스트(Lists) (0) | 2020.09.21 |
#4 문자열(Strings) (0) | 2020.09.19 |
댓글