마음이 그렇게 느끼는 것일지는 모르겠지만 C언어를 배우다 자바를 배울 때보다 파이썬을 새로 배울 때의 문법 변화를 더 크게 느낀 것 같다. 아무래도 파이썬은 세미콜론의 활용보다는 콜론과 들여쓰기의 활용을 하다보니 그런 것 같다. 그러한 변화는 반복문에서도 느꼈다.
파이썬도 여느 다른 언어와 같이 for문과 while문을 사용할 수 있다. 그렇게 어렵지 않으며 어쩌면 자바보다 쉽게 느낄 수도 있다.
1. while문
루핑 매커니즘을 작성하기에 좋은 반복문이다. 다음의 구문을 보자
>>> i = 1
>>> while i < 5:
... print(i)
... i += 1
위 구문은 변수 i를 선언하고 반복문을 돌려 1부터 4까지를 출력하는 구문이다.
풀어서 설명하면 i에는 1이 대입되어 있다. 그러한 i가 5보다 작을 때까지 i를 프린트하고, 1증가시키는 행동을 반복하는 것이다.
위처럼 while문은 변수를 별도로 선언해주어야하며 변수의 증감 또한 작성 해주어야한다.
2. for문
먼저 다음의 구문을 보자. 다음 구문은 위의 while 구문과 동일한 동작을 하는 문장이다.
>>> num = [1, 2, 3, 4]
>>> for i in num:
... print(i)
위의 문장은 리스트 내의 항목들을 순회하여 출력하는 사항이다. 오프셋 0번부터 3번까지 차례로 출력하는 구문이 되겠다.
그리고 위 구문은 range()함수를 사용하여 다음과 같이 나타낼 수도 있다.
>>> for i in range(1, 5):
... print(i)
while문과 동일한 동작을 하지만 for문 내에서 변수 선언, 증감, 조건 표현을 모두 하다보니 좀 더 압축적으로 보여질 수 있다.
풀어서 설명하자면 i라는 변수를 1부터 4(5-1)까지 1씩 증가시키면서 출력하는 구문이 되겠다.
3. break
break는 반복문에서 해당 반복을 빠져나오게 한다. 예를들어 한 단어에서 첫번째로 나오는 'a' 를 찾는다고 가정해보자. 해당 구문은 다음과 같이 나타낼 수 있다.
>>> sen = "Hello, This is an apple."
>>> for letter in sen:
... if letter == 'a':
... break
... offset += 1
...
>>> print(offset)
15
위처럼 for문을 돌리면 sen의 각각의 오프셋을 비교하다가 처음으로 a가 나오는 오프셋인 15번째에서 break를 통해 포문을 탈출하고 offset이 출력 된다.
사실 이전에 프로그래밍을 할 때 그저 나의 프로그래밍 스타일인 걸수도 있지만 while문 무한루프를 넣는데 잘 어울린다. 조건문에 True를 넣고 메뉴 화면을 띄우고, 특정 문자가 입력되었을 경우 break를 통해 탈출하는 등의 프로그램을 많이 작성했다.
파이썬은 보다 간편하게 반복문을 작성할 수 있는 것 같다.
참고서 - 빌 루바노빅, 『처음 시작하는 파이썬 2판』, 한빛미디어
'Language > Python' 카테고리의 다른 글
[Python] 문자열 포매팅(형식화) (0) | 2023.02.26 |
---|