for 반복문
파이썬의 for문은 반복문을 작성할 때 가장 강력하고 유용한 도구 중 하나입니다.
for문은 시퀀스(순서가 있는) 데이터를 순회하면서 반복 작업을 수행하는 데 사용됩니다.
for문의 작동 방식과 다양한 활용법을 살펴보겠습니다.
for문은 위와 같은 형식으로 작성됩니다.
변수는 interable_type(반복 가능한 타입)에서 값을 가져와서 반복할 때마다 갱신됩니다.
코드 블록은 들여쓰기로 구분하며, interable_type에 있는 모든 요소에 대해 반복 작업을 수행합니다.
1. 사용 방법
- for문 은 for-in 구문만 존재합니다.
- `:` 을 꼭 사용해줘야 합니다.
- 들여쓰기를 꼭 사용해줘야 합니다.
2. interable_type
irrable(반복 가능한) 타입은 파이썬에서 순회할 수 있는 객체를 의마합니다.
즉, 요소들을 한 번에 하나씩 가져올 수 있는 객체입니다.
반복 가능한 객체는 for문과 같은 반복 구조에서 사용될 수 있습니다.
파이썬에서는 여러 종류의 내장 반복 가능한 객체들이 있습니다.
몇 가지 주요한 내장 반복 가능한 객체 타입은 다음과 같습니다.
- 리스트(List)
- 대괄호([])로 감싸진 요소들의 시퀀스입니다. 리스트는 순서가 있고, 각 요소에 대해 인덱스로 접근할 수 있습니다. 리스트의 각 요소는 순서대로 순회됩니다.
- 튜플(Tuple)
- 소괄호(())로 감싸진 요소들의 시퀀스입니다. 튜플은 리스트와 비슷하지만, 변경할 수 없는(immutable) 요소들의 집합입니다. 튜플도 순회 가능합니다.
- 문자열(String)
- 문자들의 시퀀스로, 작은따옴표('')나 큰따옴표("")로 감싸집니다. 문자열도 순회 가능하며, 각 문자가 순서대로 반환됩니다.
- 집합(Set)
- 중괄호({})로 감싸진 고유한 요소들의 집합입니다. 집합은 요소들의 순서를 보장하지 않습니다. 따라서 순회 할때 요소들의 순서가 일정하지 않을 수 있습니다.
- 딕셔너리(Dicitionary)
- 중괄호({})로 감싸진 키와 값의 쌍들로 이루어진 데이터 구조입니다. 딕셔너리는 키(key)를 기반으로 요소에 접근합니다. for문에서 사전을 순회할 때는 주로 items() 메서드를 사용하여 키와 값의 쌍을 반환합니다.
이외에도 다른 타입들도 순회 가능한 객체일 수 있습니다.
또한, 사용자 정의 클래스에서 __iter__ 메서드를 구현하여 해당 클래스를 반복 가능하게 만들 수도 있습니다.
파이썬의 반복 구조에서는 반복 가능한 객체를 이용하여 for문이나 내장 함수인 iter()를 통해 반복 작업을 수행 합니다.
바복 가능한 객체를 활용하면 데이터를 순회하고 각 요소에 접근하여 원하는 작업을 수행할 수 있습니다.
2. 리스트(List) 순회하기
리스트는 파이썬에서 가장 일반적으로 사용되는 시퀀스 데이터입니다.
for문을 사용하여 리스트를 순회하고 각 요소에 접근할 수 있습니다.
예를 들어, 다음과 같이 리스트의 모든 요소를 출력하는 코드를 작성할 수 있습니다.
numbers = [1, 2, 3, 4, 5]
for num in numbers:
print(num)
# 1
# 2
# 3
# 4
# 5
위의 예제에서는 numbers라는 리스트를 선언하고, for문을 사용하여 리스트의 각 요소를 출력하고 있습니다.
for문은 numbers 리스트의 첫 번째 요소부터 마지막 요소가지 반복하면서 각 요소를 num 변수에 할당하고,
이후에는 print(num)을 실행하여 해당 요소를 출력합니다.
결과는 1부터 5까지의 숫자가 차례대로 출력됩니다.
3. 범위(range()) 순회하기
파이썬의 내장 함수인 range()를 사용하면 특정 범위를 순회하는 데 유용합니다.
range()는 시작 값, 끝 값, 증가 값 등을 지정하여 숫자 시퀀스를 생성합니다.
이를 for문과 함께 사용하여 특정 횟수만큼 반복 작업을 수행할 수 있습니다.
for i in range(1, 6):
print(i)
# 1
# 2
# 4
# 5
위의 예제는 1부터 5까지의 숫자를 출력합니다.
range() 함수의 인자로 시작 값과 끝 값(끝 값은 포함되지 않는다.)을 지정하고, for문에서는 각 숫자를 출력하고 있습니다.
range(1, 6)은 1, 2, 3, 4, 5를 순서대로 생성합니다.
ragne() 함수는 크게 3가지 방법이 있습니다.
- range(stop): 0 <= x < stop 범위의 1씩 증가하는 정수들을 차례로 반환합니다.
- ragne(start, stop): start <= x < stop 범위의 1씩 증가하는 정수들을 차례로 반환합니다.
- range(start, stop, step)
- step > 0 : start <= x < stop 범위의 step 만큼씩 증가하는 정수들을 차례로 반환합니다.
- step < 0 : start >= x > stop 범위의 step 만큼씩 감소하는 정수들을 차례로 반홥합니다.
4. 딕셔너리(dict) 순회하기
for문은 리스트뿐만 아니라 딕셔너리도 순회할 수 있습니다.
딕셔너리의 경우에는 키와 값의 쌍을 순회하며 작업을 수행합니다.
예를 들어, 학생의 이름과 점수가 저장된 딕셔너리를 순회하고 출력하는 코드를 작성해보겠습니다.
student_scores = {"John": 90, "Alice": 85, "Mike": 95}
for name, score in student_scores.items():
print(name, score)
# John 90
# Alice 85
# Mike 95
위의 예제에서는 student_scores라는 딕셔너리를 선언하고, for문을 사용하여 딕셔너리의 키와 값 쌍을 순회하고 있습니다.
items() 메서드는 딕셔너리의 키와 값 쌍을 가져올 수 있습니다.
각 순회마다 name 변수에는 키가, score 변수에는 값이 할당되어 출력됩니다.
while 반복문
while 반복문은 특정 조건이 참(True)인 동안 반복적으로 코드를 실행하는 구조입니다.
조건이 만족되는 한 반복 작업을 계속 수행하며, 조건이 거짓(False)이 되면 반복문을 종료합니다.
while 반복문의 작동 방식과 사용법을 자세히 알아보겠습니다.
조건은 반복문이 실행될 때마다 평가되는 식이며, 해당 조건이 참(True)인 동안 반복 작업이 계속됩니다.
반복할 코드는 while 문에 포홤된 코드 블록으로, 들여쓰기로 구분되어 있습니다.
조건이 거짓(False)이 되면 while 반복문은 종료됩니다.
while 반복문은 조건이 참인 동안 반복적으로 코드를 실행합니다.
코드 블록 내부에서는 원하는 작업을 수행할 수 있습니다.
예를 들어, 다음은 1부터 5까지의 숫자를 출력하는 코드입니다.
num = 1
while num <= 5:
print(num)
num += 1
# 1
# 2
# 3
# 4
# 5
위의 예제에서는 num이 1부터 시작하여 while 문의 조건인 num <= 5가 참인 동안 반복 작업을 수행합니다.
코드 블록 내에서는 num을 출력하고, num을 1씩 증가시켜줍니다.
이를 통해 1부터 5까지의 숫자가 출력됩니다.
무한 루프
while 반복문은 조건이 항상 참인 경우 무한하게 반복될 수 있습니다. 이를 무한 루프(infinite loop)라고 합니다.
무한 루프를 사용할 때는 적절한 종료 조건을 설정해야 합니다.
예를 들어, 다음은 사용자의 입력에 따라 무한히 반복하는 코드입니다.
while True:
user_input = input("종료하려면 q를 입력하세요: ")
if user_input == "q":
break
위의 예제에서는 while True로 무한 루프를 생성하고, 사용자에게 입력을 받습니다.
사용자가 "q"를 입력하면 break문이 실행되어 while 반복문이 종료됩니다.
파이썬의 while 반복문은 조건에 따라 반복 작업을 수행하며, 반복문이 종료되기를 원하는 조건이 충족될 때가지 실행됩니다.
적절한 조건 설정과 반복 작업을 통해 원하는 로직을 구현할 수 있습니다.
break와 continue
break와 continue는 반복문 내에서 실행되는 특수한 키워드로, 반복 작업을 제어하는 데 사용됩니다.
이제 우리는 break와 continue의 역할과 사용 방법을 자세히 살펴보겠습니다.
1. break문
break문은 반복문을 중단하고 빠져나오는 역할을 합니다.
break문이 실행되면 현재 실행 중인 반복문을 즉시 종료하고 반복문 바깥으로 제어를 전달합니다.
이는 반복 작업 중 특정 조건을 만족했을 때 반복문을 종료하고자 할 때 유용합니다.
예를 들어, 다음과 같이 1부터 10까지의 숫자를 출력하면서 숫자 5에서 반복문을 종료하는 코드를 작성할 수 있습니다.
for num in range(1, 11):
print(num)
if num == 5:
break
# 1
# 2
# 3
# 4
# 5
위의 예제에서는 range(1, 11)로 1부터 10까지의 숫자 범위를 생성하고, for문을 사용하여 각 숫자를 출력합니다.
그러나 if num == 5 조건을 막조하면 break문이 실행되어 반복문이 종료됩니다.
따라서 1부터 5까지의 숫자가 출력되고 반복문은 종료됩니다.
1. continue문
continue 문은 반복문의 현재 반복을 건너뛰고 다음 반복으로 넘어가는 역할을 합니다.
continue 문이 실행되면 현재 실행 중인 반복을 즉시 중단하고 반복문의 다음 반복을 시작합니다.
이는 특정 조건을 만족했을 때 현재 반복을 건너뛰고자 할 때 유용합니다.
예를 들어, 다음과 같잊 1부터 10까지의 숫자 중에서 짝수인 경우에만 숫자를 출력하는 코드를 작성할 수 있습니다.
for num in range(1, 11):
if num % 2 == 1:
continue
print(num)
# 2
# 4
# 6
# 8
# 10
위의 예제에서는 range(1, 11)로 1부터 10까지의 숫자 범위를 생성하고, for문을 사용하여 각 숫자를 확인합니다.
if num % 2 == 1 조건을 만족하면 continue문이 실행되어 현재 반복을 건너뜁니다.
따라서 홀수인 경우에는 숫자를 출력하지 않고 다음 반복으로 넘어갑니다.
이로써 1부터 10까지의 짝수만 출력됩니다.
break와 continue는 반복문을 유연하게 제어하여 원하는 동작을 수행할 수 있도록 도와줍니다.
이를 잘 활용하면 반복문 내에서 조건에 따라 작업을 건너뛰거나 종료할 수 있습니다.
잘못된 정보는 댓글로 알려주시면 감사하겠습니다.
'Python' 카테고리의 다른 글
Python - 8. 리스트 내포(List Comprehension) (0) | 2023.07.10 |
---|---|
Python - 7. 파이썬의 List (0) | 2023.07.09 |
Python - 5. 파이썬 if문, if-else문 조건문(if, else, chained conditional) (0) | 2023.07.07 |
Python - 4. 파이썬 자료 타입 (0) | 2023.07.06 |
Python - 3. 화면에 텍스트 출력하기(`print()` 함수) (0) | 2023.07.05 |