조건문
a, b = 0, 1
# if
if a>b:
print("a가 더 크다." )
#if - else
if a>b:
print("a가 더 크다." )
else:
print("a가 더 크지 않다." )
# if - elif - else
if a>b:
print("a가 더 크다." )
elif a<b:
print("a가 더 작다." )
else:
print("a와 b가 같다." )
파이썬에서의 if문은 브레이스 {}를 사용하는 블록 구조 대신 들여 쓰기를 사용한다는 것과 elseif 대신 elif를 사용한다는 점 이외에는 타 프로그래밍 언어와 큰 차이점이 없다.
그러나, 파이썬에 switch - case 문은 없다. 이럴 수가! 꼭 if-else구문만으로도 얼마든지 구현 가능하다지만 그래도 switc구문이 없으니 뭔가 섭섭하다. 대신 다음과 같은 접근 방식을 사용할 수 있다.
choices = dict(
one = 1, two = 2 , three = 3, four = 4
)
val = 'three'
print(choices[val])
위 코드는 딕셔너리에 정의된 값이 아닌 경우 오류가 발생하는데, 이를 조금 더 다듬어 보자면,
choices = dict(
one = 1, two = 2 , three = 3, four = 4
)
val = 'five'
print(choices.get(val, 'unknown'))
그리고 또, 삼항 조건 연산자(?:)도 없는 대신 if-else 문을 변칙적으로 사용한다.
a, b = 0, 1
# 통상적인 if-else문
if a>b:
result = "a가 더 크다."
else:
result = "a가 더 크지 않다."
print (result)
# 삼항 연산자를 대신하는 변칙적인 if-else문
result = "a가 더 크다." if a>b else "a가 더 크지 않다."
print (result)
위 코드에 등장하는 두 종류의 조건문은 그 의미가 서로 같다.
댓글
댓글 쓰기