if 조건문 1:
조건문 1이 True일 때 실행되는 코드
elif 조건문 2:
조건문 1에 해당하지 않고, 조건문 2가 True일 때 실행되는 코드
else:
위의 모든 조건문이 모두 True 값이 아닐 때 실행되는 코드
파이썬에서 들여쓰기는 스페이스 바 4번 또는 Tab을 입력한다. 표준은 스페이스 바 4번이긴 하다.
파이썬에서 조건문을 작성할 때는 if ~ elif ~ elses문을 이용한다.
조건문을 사용할 때 elif 혹은 else 부분은 경우에 따라 사용하지 않아도 된다.
ex.
학점이 4.0 이상일 때 A
학점이 4.0 미만, 3.0 이상일 때 B
학점이 3.0 미만, 2.0 이상일 때 C
학점이 2.0 미만일 때 F
if score >= 4.0:
print("학점: A")
elif score >= 3.0:
print("학점: B")
elif score >= 2.0:
print("학점: C")
else:
pring("학점: F")
조건문에는 비교 연산자를 자주 사용한다.
X == Y: X와 Y사 서로 같을 때 참(True)이다.
X != Y: X와 Y사 서로 다를 때 참(True)이다.
X > Y: X가 Y보다 클 때 참(True)이다.
X < Y: X가 Y보다 작을 때 참(True)이다.
X >= Y: X가 Y보다 크거나 같을 때 참(True)이다.
X <= Y: X가 Y보다 작거나 같을 때 참(True)이다.
2개의 논리 값 사이의 연산을 수행할 때 사용한다.
X and Y: X와 Y가 모두 참(True)일 때 참(True)이다.
X or Y: X와 Y 중에 하나만 참(True)이어도 참(True)이다.
not X: X가 거짓(False)일 때 참(True)이다.
파이썬에는 추가적으로 'in 연산자'와 'not in 연산자'를 제공한다. 여러 개의 데이터를 포함하는 자료형에서 특정 값이 존재하는 지 확인하는 연산에 주로 사용된다.
X in 리스트: 리스트 안에 X가 들어가 있을 때 참(True)이다.
X not in 문자열: 문자열 안에 X가 들어가 있지 않을 때 참(True)이다.
조건문의 값이 참(True)이라고 해도, 아무것도 처리하고 싶지 않을 때 pass 문을 이용할 수 있다.
star = 4
if star > 2:
pass # 나중에 작성할 코드
else:
printf('별이 2개 미만')
printf('프로그램 종료')
# 출력: 프로그램 종료
조건문에서 실행될 코드가 한 줄인 경우, 굳이 줄 바꿈을 하지 않고도 간략하게 표현할 수 있다.
star = 4
if star >= 2: printf('별이 2개 이상')
else: printf('별이 2개 미만')
조건부 표현식(Conditional Expression)을 이용하면 if ~ else문을 한 줄에 작성해 사용할 수 있다.
star = 4
result = "good" if star >= 4 else "bad"
print(result) # 출력: good
리스트에 있는 원소의 값을 변경해서, 또 다른 리스트를 만들 때 조건부 표현식이 유용하다.
a = [1, 2, 3, 4, 5, 5, 5]
remove_set = {3,5}
result = []
for i in a:
if i not in remove_set:
result.append(i)
print(result) # 출력: [1, 2, 4]
위 코드를 조건부 표현식을 사용하여 아래와 같이 간단하게 표현할 수 있다.
a= [1, 2, 3, 4, 5, 5, 5]
remove_set = {3,5}
result = [i for i in a if i not in remove_set]
print(result) # 출력: [1, 2, 4]
파이썬에서는 조건문 안에 0 < x < 20 과 같은 부등식을 그대로 사용 가능하다.