티스토리 뷰
if 문
if ~ elif ~ else 와 같이 사용하며, elif 혹은 else 부분은 경우에 따라서 사용하지 않아도 된다.
score = 85
if score >= 90:
print("A")
elif score >= 80:
print("B")
print("분발하세요.")
elif score >= 70:
print("C")
else:
print("F")
# B
# 분발하세요.
조건문을 작성할 때는 코드의 블록(Block)을 들여쓰기로 설정한다. 들여쓰기가 같은 부분은 함께 실행된다.
조건문의 특성
pass 문
파이썬에서는 조건문의 값이 참(True)이라고 해도, 아무것도 처리하고 싶지 않을 때 pass 문을 이용할 수 있다.
if score >= 80:
pass # 나중에 작성할 코드
else:
print('성적이 80점 미만입니다.')
→ 디버깅하는 과정에서 일단 조건문의 형태만 만들어 놓고 조건문을 처리하는 부분은 비워놓고 싶은 경우 유용하게 사용할 수 있다.
줄바꿈 생략
조건문에서 실행될 소스코드가 한 줄인 경우, 굳이 줄 바꿈을 하지 않고도 간략하게 표현할 수 있다.
if score >= 80: result = "Success"
else: result = "Fail"
조건부 표현식 (Conditional Expression)
조건부 표현식을 이용하면 if ~ else 문을 한줄에 작성할 수 있다.
result = "Success" if score >= 80 else "Fail"
코딩 테스트>> 조건부 표현식은 리스트에 있는 원소의 값을 변경해서, 또 다른 리스트를 만들고자 할 때 매우 간결하게 사용할 수 있다.
예) 리스트에서 특정한 원소의 값만을 없애는 경우
< 일반적인 형태 >
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]
조건문에서 많이 사용되는 연산자
비교 연산자
X == Y : X와 Y가 서로 같을 때 True
X != Y : X와 Y가 서로 다를 때 True
X > Y : X가 Y보다 클 때 True
X < Y
X >= Y
X <= Y
파이썬은 조건문 안에서 수학의 부등식을 그대로 사용할 수 있다. "x > 0 and x < 20"과 "0 < x < 20"은 같은 결과를 반환한다.
논리 연산자
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
리스트 뿐만 아니라 튜플, 문자열, 사전과 같은 자료형에도 사용 가능하다.