English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Python 기본 튜토리얼

Python 흐름 제어

Python 함수

Python 데이터 타입

Python 파일 작업

Python 객체와 클래스

Python 날짜와 시간

Python 고급 지식

Python 참조 매뉴얼

Python for 루프

Python for 루프는 목록이나 문자열과 같은 시퀀스의 항목을 순회할 수 있습니다.

Python에서 for 루프는 무엇인가요?

Python에서 for 루프는 시퀀스(list،tuple،string) 또는 다른 이터레이블 객체. 시퀀스에서 이터레이션을 진행하는 것을 순회라고 합니다.

for 루프의 문법

for val in sequence:
	for 루프의 본문

이곳에서 val은 각 반복에서 시퀀스 내 항목 값을 가져오는 변수입니다.

루프는 시퀀스의 마지막 항목에 도달할 때까지 계속됩니다. for 루프의 주체를 나머지 코드와 구분하기 위해 인덱싱을 사용합니다.

for 루프流程図

Python for 루프의流程図

Python for 루프 예제

#프로그램은 목록에 저장된 모든 숫자의 합을 찾습니다
#숫자 목록
numbers = [6, 5, 3, 8, 4, 2, 5, 4, 11]
# 총 합을 저장하는 변수
sum = 0
# 리스트를 순회합니다
for val in numbers:
    sum = sum+val
print("총 합은", sum)

프로그램을 실행할 때, 출력은 다음과 같습니다:

총 합은 48

range() 함수

range() 함수를 사용하여 숫자 시퀀스를 생성할 수 있습니다. range(10)은 0에서9의 숫자 사이의 숫자(10개 숫자).

또한 시작, 종료, 단계를 range(start, stop, step_size)로 정의할 수 있습니다. 제공되지 않으면, step_size는 기본적으로1.

range 객체는 우리가 그것을 생성할 때 그것이 '포함'하는 모든 숫자를 생성하지 않기 때문에 일정한 의미에서 '불활성'입니다. 하지만 이는 이터레이터가 아니며, in, len, getitem 연산을 지원합니다.

이 함수는 모든 값을 메모리에 저장하지 않기 때문에 비효율적입니다. 따라서, 시작, 종료, 단계를 기억하고 실행 중에 다음 숫자를 생성합니다.

모든 항목을 출력하도록 함수를 강제할 수 있습니다. list() 함수를 사용할 수 있습니다.

이 예제에서 이 점을 보여줍니다.

print(range(10))
print(list(range(10))
print(list(range(2, 8))
print(list(range(2, 20, 3))

출력 결과

range(0, 10]
) 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0,2, 3, 4, 5, 6, 7]
[0,2, 5, 8, 11, 14, 17]

[

we can use the range() function in the for loop to iterate over a sequence of numbers. It can be combined with the len() function to iterate over a sequence by index. Here is an example.
# 인덱스로 목록을 탐색하는 프로그램
genre = ['pop', 'rock', 'jazz']
# 인덱스로 목록을 탐색하는 프로그램
    for i in range(len(genre)):

프로그램을 실행하면 다음과 같은 출력이 됩니다:

print("I like", genre[i])
I like pop
I like rock

I like jazz

else 블록을 가진 for 루프

for 루프에서 사용하는 시퀀스의 항목이 다 빠진 경우 else 부분을 실행합니다.

break 키워드는 for 루프를 중단할 수 있습니다. 이 경우 else 부분은 무시됩니다.

따라서 중단이 발생하지 않았다면 for 루프의 else 부분을 실행합니다.

이것은 이를 설명하는 예제입니다.

digits = [0, 1, 5]
for i in digits:
    print(i)
else:
    print("남은 항목이 없습니다.")

프로그램을 실행하면 다음과 같은 출력이 됩니다:

0
1
5
남은 항목이 없습니다.

여기서 for 루프는 목록의 항목을 출력할 것이며, 루프가 다 끝나면 else 코드 블록을 실행하고 "남은 항목이 없습니다.

for...else 문은 break 키워드와 함께 사용할 수 있으며, break 키워드가 실행되지 않았을 때에만 else 블록을 실행합니다. 예를 들어:

# 학생 성적을 표시하는 프로그램
student_name = 'Soyuj'
marks = {'James': 90, 'Jules': 55, 'Arthur': 77}
for student in marks:
    if student == student_name:
        print(marks[student])
        break
else:
    print('이 이름의 항목을 찾을 수 없습니다.')

출력 결과

이 이름의 항목을 찾을 수 없습니다.