레이블이 삼항인 게시물을 표시합니다. 모든 게시물 표시
레이블이 삼항인 게시물을 표시합니다. 모든 게시물 표시

2020년 2월 4일 화요일

파이썬 삼항 연산자


보통 C나 예전 언어들 보면 Ternary operator라고 삼항 연산자라는게 있다.

형식이 대략 아래와 같은데,
A ? B : C


파이썬에서는 위와 같이 ?(물음표)를 사용하지 않고

B if A else C


와 같은 형태로 guide를 하고 있다.

근데 이건 다른 언어들이랑 다르고 줄세우기 할때 가독성도 떨어지는데,,
아래와 같은 방법으로도 가능하다.

(C,B)[A]

튜플을 이용한 방법인데 참이면 1이므로 B, 거짓이면 0이므로 C를 선택하는 것이다.

그외에  A and B or C와 같이 short circuit구문을 이용하는 방법도 있는데,
이게 기존 다른언어의 삼항연산자들과 순서가 맞긴하다.

다만 이건 판정중에, B의 실제 값이 0인 경우 그 항이 False가 되면서
C가 실행되는 점이 있어서, 추천하지는 않는다.