지난 시간까지는 파이썬의 자료형에 대해 알아보고 연습문제를 풀어봤습니다
파이썬 제어문에는 if, while, for 등 이 존재합니다.
프로그래밍을 집을 짓는 거와 비교해 보자면 집을 짓기 위해 필요한 나무, 돌, 시멘트 등의 재료들은 자료형이 되는 것이고, 집의 뼈대를 만드는 철근 같은 것들이 제어문에 해당한다고 보시면 됩니다.
이제부터 자료형을 바탕으로 제어문을 이용해서 프로그램의 구조를 만들어 보는 것을 공부해 보겠습니다.
파이썬 조건문 if
파이썬 제어문 중 조건문 if는 조건을 판단해서 조건에 맞는 상황을 진행하게끔 하는 명령입니다.
다음의 상상을 해보세요
“돈이 있으면 택시를 타고, 돈이 없으면 걸어 간다.”
위 상상을 파이썬으로 표현하면 다음과 같을 수 있습니다
>>> money = True
>>> if money:
... print("택시를 타고 가세요")
... else:
... print("걸어 가세요")
...
택시를 타고 가세요
money 라는 변수에 True 를 입력했기 때문에 money 는 참이 됩니다.
따라서 if 문 다음 문장인 “택시를 타고 가세요” 가 출력이 되게 됩니다.
파이썬 if 문의 기본 구조
if 문의 기본 구조 입니다. if 와 else 를 사용합니다.
if 조건문:
수행할 문장 1
수행할 문장 2
...
else:
수행할 문장 A
수행할 문장 B
...
조건문을 파악해서 참이면 if 다음에 있는 수행할 문장 1, 2 를 차례로 수행을 하고
조건문이 거짓이라면 else 다음에 있는 수행할 문장 A, B 를 차례로 수행을 하게 됩니다.
else 문은 if 문 없이 독립적으로는 사용 될 수 없습니다.
파이썬 들여쓰기
if 문을 구성할 때는 if 조건문: 바로 아래 문장에서 부터는 if 문에 속하는 모든 문장에 들여쓰기(identation)를 적용해야만 합니다. 위 예에서 처럼 ‘수행할 문장 1’, ‘수행할 문장 2’를 들여쓰기 해주었습니다.
파이썬에서는 들여쓰기는 기본 문법의 하나로 중요합니다.
들여쓰기가 제대로 되어있지 않다면 파이썬에서는 오류가 발생하게 됩니다.
위에서 진행했던 코드에서 들여쓰기를 하지 않고 진행해 봤습니다.
>>> money = True
>>> if money:
... print("택시를 타고 가세요")
File "<stdin>", line 2
print("택시를 타고 가세요")
^
IndentationError: expected an indented block after 'if' statement on line 1
들여쓰기를 해야 한다는 오류가 발생했습니다.
다음과 같은 경우에도 오류가 발생하게 됩니다
>>> money = True
>>> if money:
... print("택시를 ")
... print("타고 ")
... print("가세요")
File "<stdin>", line 4
print("가세요")
IndentationError: unexpected indent
위 오류가 나온 것을 살펴보면 알 수 있겠지만 파이썬에서 들여쓰기의 깊이는 동일하게 진행을 해야 합니다.
이런 들여쓰기 규칙 때문에 들여쓰기를 공백(space bar) 으로 하냐, 탭(tab) 으로 하냐 의견이 분분한 경우가 생기기도 합니다.
이런 의견이 갈리는 경우에도 공통된 부분은 공백과 탭을 혼용으로 쓰지는 말자는 것입니다.
대부분의 요즘 에디터에서는 탭을 자동으로 공백으로 바꿔 주는 기능이 포함되어 있기도 합니다.
공백과 탭을 혼용으로 사용한다면 눈에 보이지 않기 때문에 나중에 오류가 발생할 수 도 있습니다.
파이썬 커뮤니티에서 추천하는 들여쓰기는 공백 4개 인 듯 합니다.
파이썬 조건문 뒤 콜론(:)
if 조건문 뒤에는 무조건 콜론(:)을 사용합니다.
이렇게 콜론(:)을 사용하는 것도 파이썬의 기본 문법입니다.
if 조건문 뿐만이 아니라 while, for, def, class 등 에서도 문장의 끝에는 콜론이 항상 들어갑니다.
이런 식으로 if 등 에서 문장의 끝에 콜론(:)을 사용하면 엔터를 쳤을 경우 다음 문장에는 자동으로 들여쓰기를 진행하게 됩니다. 그리고 이 들여쓰기를 통해 if 등의 문장들을 처리하는 것입니다.
다른 언어들의 경우 { } 기호로 감싸는 경우가 있습니다.
- 이 포스팅은 ‘위키독스’ 의 ‘점프 투 파이썬‘ 전자책을 구매하여 독학하기 위한 자료로 작성했습니다.
