카테고리 없음

Python 3항 연산자

드라이빙 인사이트 2019. 11. 18. 23:09
반응형

코드의 양을 줄이는 것은 많은 장점을 가지고 있다. 그 중 3항 연산자는 불필요한 if - else 구문을 한줄로 줄여줘서 간단한 조건문을 한줄로 표현할 수 있게 해준다.

 

Java나 C 언어에서의 3항 연산자는 다음과 같이 사용한다.

variable = condition ? result1 : result2

condition 값이 참(true)일 때는 result1이 변수 'variable'에 할당되고, condition 값이 거짓(false)일 때는 result 2가 할당된다.

 

파이썬 3항 연산자

파이썬의 3항 연산자는 2.5 버전부터 적용되었다. (링크 : PEP 308: Conditional Expressions) 파이썬 3항 연산자의 문법은 다음과 같다.

variable = {true_value} if {condition} else {false_value}

Java나 C 언어에서 볼 수 있었던 3항 연산자와는 약간 모양이 다르다. 위 코드를 조건문(if 문)으로 풀어쓰면 다음과 같다.

if {condition}:
    variable = {true_value}
else:
    variable = {false_value}

한줄로 쓴 3항 연산자의 동작과 if 구문으로 풀어쓴 동작 방식이 동일하다.

 

파이썬의 3항 연산자가 자바나 C 언어의 모양과 약간 다른 형태로 구현하게 된 이유는 대부분 condition값이 true 이고, 예외적인 상황에서 condition 값이 false인 경우가 많기 때문이라고 한다. 대부분의 경우를 앞쪽에 배치하고 예외 상황을 뒤로 둬서 가독성을 향상시키기 위함이라고 한다.

 

 

반응형