아마 다음과 같은걸 본 적이 있을거예요: 우리 프로그램엔 자주 반복하는 기능이 있어요. 파이썬엔 순환 반복(용어: 반복)이라고 하는 강력한 개념이 있는데, 반복 코드 일부를 똑 떼어내는데 사용할 수 있어요! 자, 그러면 이 간단한 예제를 해보도록 해요:
for name in "John", "Sam", "Jill":
print("Hello " + name)
무언가를 여러번 돌리고 싶을때 매우매우 도움이 돼요 — 도형의 테두리선을 각각 그릴 경우 말이죠? — 근데 동작은 단 한번에 대해서만 적고 싶을 때가 있어요. 순환 반복의 다른 버전을 보도록 할께요:
for i in range(10):
print(i)
이제 어떻게 i
변수를 사용해서 코드 한 줄을 작성하더라도 각기 다른 10가지 값을 가질 수 있는지 볼까요?
range(n)
함수는 0, 1, 2, ..., n-1``을 짧게 줄인걸로 볼 수 있어요. 더 알아보시려면 파이썬 쉘에서 ``help(range)``를 쳐서 도움말을 보실 수 있어요. :kbd:``q
키를 사용하면 도움말에서 다시 나갈 수 있어요.
여러분이 고른 요소에 대해서도 순환 반복 동작을 할 수 있어요:
total = 0
for i in 5, 7, 11, 13:
print(i)
total = total + i
print(total)
이 예제 코드를 그대로 작성하고 파이선으로 실행해서, 여러분이 기대한 바와 동작이 같은지 확인해보세요.
주석
위에서 어떻게 돌아가는지 보시면, 순환 반복*하는 코드 줄을 *들여쓰기 했어요. 파이선에 있어 중요한 개념이죠. 어떤 코드 줄이 for
순환 반복 구문에서 사용해야 하는지 알 수 있기도 하고, 그 다음 프로그램 나머지 부분에는 어떤 요소가 따라오는지 알 수 있기도 하죠. 코드를 들여쓰기 하려면 공백 문자 네 개(그냥 탭 키를 치세요)를 사용하세요.
어떤 경우는 일부 코드를 여러번 반복하려 하지만 i
변수 값은 신경 쓰고 싶지 않을때가 있어요. 이때는 ``_``를 대신 사용하는게 좋은 습관이 될 수 있어요. 이걸 쓰면 값이 어떤지 신경 쓰고 싶지도 않고 쓰고 싶지도 않음을 의미해요. 간단한 예를 보여드릴께요:
for _ in range(10):
print("Hello!")
i
변수가 어떤 값을 지니고 있는지 궁금해 할 수도, 안 할 수도 있어요. 위에서는 왜 항상 사용했을까요? 흠, 간단하게 말하자면 “인덱스”를 의미하는데 대부분의 코드 어디에서든 찾을 수 있는 일반적인 변수 이름일 뿐이예요. 어떤 숫자가 아니라 다른 기준 이상으로 순환 반복을 한다면, 이름을 확인해보는게 좋아요! 가령 다음 같으면요:
for drink in list_of_beverages:
print("Would you like a " + drink + "?")
drink
대신에 ``i``를 썼을때보다는 바로 이해하기에 확실하죠.
점선을 그려보세요. turtle.penup()
함수를 사용해서 거북이가 선을 그리지 않고 그냥 움직이게만 할 수 있어요. 다시 그리라고 하려면 ``turtle.pendown()``을 활용하세요.
for i in range(10):
turtle.forward(15)
turtle.penup()
turtle.forward(5)
turtle.pendown()
위의 예제에서 ``#``으 시작하는 줄을 주석이라고 해요. 파이썬에서는 ``#``으로 시작하는 줄은 컴퓨터에서 무시해요. 컴퓨터에서 동작을 바꾸지 않고 프로그램이 어떤 동작을 하는지 설명하려면 주석을 활용하세요. 잠깐 동안 쉽게 코드를 비활성화 하든지 코드 일부를 “주석 처리” 해버리는데 사용할 수도 있어요.
다음 처럼 줄 끝으로 주석이 들어갈 수도 있어요:
turtle.left(20) # tilt our next square slightly