티스토리 뷰

반응형

 

삼항 연산자 (삼항 표현식)

 

if-else 조건식을 한 줄로 간결하게 표현할 수 있다. 코드를 줄이는데 용이하게 사용할 수 있지만 조건식이 복잡한 경우에는 가독성을 떨어뜨릴 수 있니 적절한 경우에 사용하는 것이 좋다. 이번 포스팅에서는 삼항 표현식 문법의 사용 예시와 중첩 삼항 표현식에 대해서 정리해본다.

 

- 순서 -
1. 삼항 표현식 문법
2. 중첩 삼항 표현식

3. 정리

 


1. 삼항 표현식 문법

true_value if condition else false_value

condition의 Boolean 값을 기반으로 반환된다. if조건식의 condition값이 True이면 true_value를 반환하고 False이면 false_value를 반환한다. 위와 같은 식을 삼항표현식과 if - else 조건식으로 작성해보는 예시는 아래와 같다.

 

삼항 표현식과 if-else 조건식 비교

# 삼항표현식
value = true_value if condition else false_value

# if-else 조건식
if condition:
    value = treue_value
else:
    value = false_value

같은 결과를 출력하지만 삼항 표현식을 사용할 때 코드를 간결하게 작성할 수 있다. 위와 같은 조건식에 직접 값을 대입해서 사용해보면 아래와 같다. 삼항표현식과 if-else 조건식이 같은 결과를 도출하지만 표현하는 방식이 달라진다. 코드는 숫자 10을 기준으로 10이면 ten을 10이 아니면 not ten을 출력하도록 작성하고서 삼항 표현식과 if-else 조건식을 비교해 보았다.

# 삼항표현식
>>> n = 10
>>> value = 'ten' if n == 10 else 'not ten'
ten

# if-else 조건식
>>> n = 1
>>> if n == 10:
>>>     value = 'ten'
>>> else:
>>>     value = 'not ten'
not ten

 

2. 중첩 삼항 표현식

중첩 삼항 표현식은 이름 그대로 삼항 표현식을 중첩된 표현식으로 작성하는 코드이다. 두 개 이상의 if 조건식을 한 줄로 작성할 수 있다. 기본적인 작성 방법은 아래와 같다. 대괄호는 임의로 보기 편하게 하려고 표시한 것이다. 실제로 코드를 작성할 때는 [ ] 괄호는 빼야 한다. 

true_value if condition1 else [ true_value2 if condition2 else false_value ]

if조건식의 condition1 값이 True이면 true_value를 반환하고 False이면 두 번째 조건식의 Boolean 값을 반환한다. condition2의 값이 True이면 true_value2를 False이면 false_value를 반환한다.

 

위의 삼항 중첩 삼항 표현식을 코드로 작성해보면 아래와 같다. 이번에는 임의의 수가 입력 될 때 숫자가 10이면 ten, 10보다 작으면 low, 10보다 크면 high를 출력하는 코드를 작성해보았다.

# 삼항표현식
>>> n = 10
>>> value = 'ten' if n == 10 else 'low' if n < 10 else 'high'
ten

# if-else 조건식
>>> n = 1
>>> if n != 10:
>>>     if n < 10 :
>>>         value = 'low'
>>>     else:
>>>         value = 'high'
>>> else:
>>>     value = 'ten'
low

if-else 조건식으로 작성하면 여러줄에 걸쳐서 작성해야 하는데 비해 삼항 표현식은 한 줄로 작성할 수가 있다. 간편하게 사용이 가능하다. if-else 조건식은 if-elif-else 조건식으로 작성도 가능하다.

 

3. 정리

1) if조건식을 삼항연산자(삼항표현식)를 이용하여 한 줄로 간단하게 작성할 수 있다.

2) 삼항표현식의 기본적인 작성방법은 " true_value if condition else false_value " 형태이다.

3) 삼항표현식은 조건식이 중첩된 경우에도 작성할 수 있다. 중첩 삼항 표현식의 작성방법은 "true_value if condition1 elsetrue_value2if condition2 else false_value " 형태이다.

 

반응형
댓글
반응형