자바나 C언어 등 메이저 프로그래밍 언어에서는 '3항 연산자'를 제공한다. 3항 연산자를 이용하면 불필요한 if - else 구조를 간단하게 한줄로 줄일 수 있어 코드의 양을 줄일 수 있다.
자바나 C언어에서 3항 연산자는 다음과 같은 문법으로 사용한다.
variable = condition ? result1 : result2
같은 로직을 3항 연산자를 사용하지 않고 작성하면 다음 코드처럼 작성할 수 있다.
if (condition)
variable = result1;
else
variable = result2;
한줄로 단축해서 쓰는 것이 더 깔끔하고 간략해 보인다. (뭐 사람과 조직마다 풀어서 쓰는 것을 선호하는 경우도 있고, 3항 연산자를 선호하는 경우도 있다. 코딩 컨벤션에 따라 잘 사용하는 것이 좋다)
파이썬 3항 연산자
자바나 C언어처럼 파이썬도 3항 연산자를 지원한다. 정확히는 파이썬 2.5 버전 이후부터 3항 연산자를 제공하기 시작했다. (링크 : PEP 308: Conditional Expressions)
파이썬의 3항 연산자 문법은 자바, C언어와는 약간 다르다.
variable = {true_value} if {condition} else {false_value}
이 코드를 조건문(if 문)으로 풀어쓰면 다음과 같다.
if {condition}:
variable = {true_value}
else:
variable = {false_value}
파이썬의 3항 연산자 문법이 자바나 C언어의 문법과 약간 다른 형태로 된 이유는 대부분의 경우 condition 값이 true이고, 예외적인 상황에서만 false인 경우가 많기 때문이라고 한다. 대부분의 경우를 앞쪽에 배치하고, 예외 상황을 뒤쪽에 작성해서 가독성을 향상시키기 위한 의도라고 한다.
댓글