웹 개발 메모장

[파이썬] 3항 연산자 본문

옛날../파이썬

[파이썬] 3항 연산자

도로롱주 2018. 5. 21. 14:16




1 if (조건) else 코드2



3항 연산자는 조건문을 간단하게 줄여쓸 수 있도록 해주는 연산자 입니다.


1
2
3
4
5
6
7
8
9
10
11
# 일반적인 if else 구문입니다.
 
if (조건):
    코드1
else:
    코드2
 
 
# 위를 3항 연산자로 표현하면 아래와 같습니다.
 
코드1 if (조건) else 코드2
cs



아래와 같이 두 수의 차를 반환하는 함수를 예를 들어 보겠습니다.


1
2
3
4
5
def get_abs(a,b):
    if a > b:
        return a-b
    else :
        return b-a
cs



3항 연산자를 이용하면 아래처럼 간단하게 코드를 줄일 수 있습니다.


1
2
def get_abs(a,b):
    return a-if a>else b-a
cs




※ C, 자바, 자바스크립트, php 등에서 3항 연산자는 아래와 같습니다.


1
(조건)? 코드1코드2;
cs


조건이면 코드1을, 거짓이면 코드2를 실행한다는 뜻입니다.



마찬가지로 파이썬에서도 같은 순서로 사용되는 아래와 같은 3항 연산자가 있습니다.


1
(조건) and 코드1 or 코드2;
cs



하지만 위 3항 연산자에는 조건이 이더라도 코드1이 거짓이면 코드2가 실행이 되는 문제가 있기 때문에 파이썬 2.5 버전 부터 아래와 같은 3항 연산자가 나왔고 사용하게 됬다고 합니다.


1
코드1 if (조건) else 코드2;
cs



그에 대한 내용을 잘 정리해놓은 블로그가 있어 링크 남겨둡니다.


https://blueshw.github.io/2016/01/22/2016-01-22-python-conditional-ternary-operator/



Comments