본문 바로가기
파이썬/자주하는 질문

파이썬(Python) if else 구문을 한 줄로 표현하기

by J-Build 2020. 9. 15.

상황에 따라서 if else 구문을 한준에 표현하면 코드의 가독성이 올라가는 경우가 있습니다. 방법은 아래와 같습니다. 

c = a if condition else b

 

이 구문은 condition이 참(true)가 되면 c는 a가 되고 아니면 b가 되는것이죠. 실제 예제로 확인 해볼께요. 

x = 10
c = 'hi' if(x % 2 == 0) else 'bye'
print(c)
# hi

 

하지만 if else 를 한 줄로 표현하는것을 그렇게 추천드리지는 않습니다. 혹시나 사용이 남발되면 가독성이 떨어질 수 있기 때문입니다. (사실, 아래처럼 간단한 if else 구문을 여러줄에 걸쳐써도 가독성이 떨어지지 않습니다.)

x = 10
if x % 2 == 0:
    print('hi')
else:
    print('bye')

 

참고로, 아래와 같은 트릭도 사용이 가능합니다. (추천하지는 않습니다)

x = 10
('bye', 'hi')[bool(x % 2 == 0)]
# hi

 

아니면 이런 트릭도 가능하죠. (역시 비추입니다)

x = 10
bool(x % 2 == 0) and 'hi' or 'bye'
# hi

 

댓글