반응형

if-else 조건식을 한 줄로 간결하게 표현하는 삼항 연산자에 대한 포스팅입니다.

삼항 연산자

가독성을 떨어뜨릴 수 있지만, if-else 조건식을 한 줄로 간결하게 표현할 수 있다. 개인 선호에 따른 문제겠지만, 특히 조건식이 복잡한 경우에는 사용을 지양하는 것이 좋다.  삼항 표현식 문법의 사용 예시와 중첩 삼항 표현식에 대해 정리해 보았다.

 

 

1. 조건식과 삼항 표현식 문법 차이

# if-else 조건식
if condition:
    value = true_value
else:
    value = false_value
    
    
# 삼항표현식
value = true_value if condition else false_value

 

condition값이 True이면 true_value를 반환하고 False이면 false_value를 반환 if조건식과 똑같은 결과를 도출하는 삼항 표현식이다. 똑같은 결과를 도출하지만 삼항 표현식을 사용하면 코드를 간결하게 작성할 수 있다. 

 

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

 

동일한 예시를 아래 하나 더 추가해 두었다. 

# if-else 조건식
>>> n = 1
>>> if n == 9:
>>>     value = 'nine'
>>> else:
>>>     value = 'not nine'
not nine


# 삼항표현식
>>> n = 9
>>> value = 'nine' if n == 9 else 'not nine'
nine

 

 

 

2. 중첩(이중) 삼항 표현식

 

중첩(이중) 삼항 표현식은 이름 그대로 삼항 표현식을 중첩된 표현식으로 작성하는 코드로서 두 개 이상의 if 조건식을 한 줄로 작성할 수 있다.  

 

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


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

 

if-else 조건식으로 작성하면 여러 줄에 걸쳐서 작성해야 할 코드를 삼항 표현식으로 간결하게 작성할 수 있다. 다만, 가독성이 떨어지는 다중 삼항 표현식은 자주 사용하지 않는게 경험상 편하다. 특히 다수의 사람들과 공유하는 코드라면 더욱 그렇다.

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기