본문 바로가기
Python

[Python] 3항 연산자 문법 사용 예제

by A6K 2021. 5. 6.

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


 

파이썬 스크립트 작성에 도움되는 글 모음

파이썬으로 프로그램을 작성할 때 도움되는 글들을 모아본다. Python 문법 Python 모듈

hbase.tistory.com

 

댓글