티스토리 뷰

Language/Python

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인 경우가 많기 때문이라고 한다. 대부분의 경우를 앞쪽에 배치하고 예외 상황을 뒤로 둬서 가독성을 향상시키기 위함이라고 한다.

 

 

댓글
댓글쓰기 폼
공지사항
Total
41,261
Today
70
Yesterday
285
링크
«   2020/11   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          
글 보관함