Py) 기초 - 제어문(if)

Py) 기초 - 제어문(if)

파이썬 기반 데이터분석을 위하여 if 조건문에 대해 알아본다.


개요

제어문은 영어로 control flow statement라고 하며 크게 조건문과 반복문이 있다. 조건문은 특정 조건 만족 여부에 따라 각기 다른 코드가 실행된다. 즉, 조건문을 사용하지 않는다면 코드는 위에(또는 앞에) 적혀있는 것 부터 아래로 내려가며 순차적으로 실행이 되나 조건문을 사용할 경우 일부 코드를 뛰어넘어(또는 무시하고) 다른 특정 코드를 실행할 수 있게 된다.

생성 및 동작원리

조건문 if는 “if” 로 코드를 시작하며 “if” 다음에는 반드시 한 칸 띄어쓴다. 그리고 조건식을 배치해야하며 조건식 실행 결과는 반드시 True 또는 False여야 한다. 결과는 복수의 원소나 객체를 허용하지 않으며 True 또는 False의 단일값이 반환되어야 한다. 만약 조건식을 쓰지 않으면 하나의 True 또는 False를 조건식 대신 입력해야 한다.

조건식 뒤에는 콜론(:)을 써서 마무리하고 조건식이 True일 때 실행되는 코드는 한 수준(4칸 띄어쓰기 또는 1Tab)이상 들여쓰기를 해야한다. 특히 이 부분이 조건식에서 빈번하게 일어나는 실수이기 때문에 코드 작성에 유의하도록 한다.

확장

두 개 이상의 분기를 위해서는 “else”, “elif”를 사용할 수 있으며 중첩 if문도 가능하다. “elif”의 경우 뒤에 추가 조건식을 쓸 수 있으며 연쇄적인 조건식을 생성할 때 사용할 수 있다.

실습

가장 기본적인 조건문을 작성해보자. 다음은 조건식 대신 True 또는 False가 들어있는 조건식이다. 만약 True가 입력이 된다면 1수준 들여쓰기가 된 코드가 실행되며 여기서는 print() 함수가 실행된 결과를 확인할 수 있다.

1
2
3
4
5
6
if True:
print(1)
## 1

if False:
print(2)

그런데 TrueFalse는 실제 연산에서 1 또는 0으로 사용되는 것을 알고 있을 것이다. 이 성질을 이용하면 다음과 같이 True 대신 1을 입력하고 False 대신 0을 입력해도 똑같이 동작하는 것을 확인할 수 있다.

1
2
3
4
5
6
if 1:
print(1)
## 1

if 0:
print(2)

이번에는 단순 print() 함수 말고 다른 코드가 들어있는 조건문을 사용해보자.

1
2
3
4
5
6
ee = 1
if True:
ee = ee + 100

ee
## 101

이제 True 또는 False가 아닌 조건식을 사용하는 if문을 작성해보자.

1
2
3
4
5
6
7
8
9
10
val_1 = 30
print(val_1 > 15)
## True

if val_1 > 15: # True
print(val_1 * 3)
## 90

if val_1 < 15: # False -> 실행 안됨.
print(val_1 * 30)

이번에는 조건식에 “else”를 더한 코드이다. 이제 조건식의 결과값이 False이더라도 실행되는 코드가 없는 것이 아닌 “else” 뒤에 한 수준 들여쓰기된 코드가 실행된다.

1
2
3
4
5
6
7
val_2 = 50

if val_2 > 100: # False --> else에 속한 코드가 실행됨.
print("GT100") # (GT)Greater Than
else:
print("LE100") # (LE)Less than Equal
## LE100

이제는 “elif”와 추가 조건식 까지 추가해보자.

1
2
3
4
5
6
7
8
9
val_3 = 50

if val_3 > 100: # False --> else에 속한 코드가 실행됨.
print("GT100") # (GT)Greater Than
elif val_3 >= 50:
print("GE50") # (GE)Greater than Equal
else:
print("LT50")
## GE50
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×