Python의 삼항 조건 연산자

Syed Moiz Haider 2023년1월30일
  1. Python 2.5 이상에서 삼항 연산자 사용
  2. 튜플을 사용하는 Python의 삼항 연산자
  3. 2.5 이전 버전에 대해lambda를 사용하는 삼항 연산자
Python의 삼항 조건 연산자

이 자습서에서는 Python에서 삼항 연산자를 사용하는 다양한 방법을 정의합니다. 다른 프로그래밍 언어와 비교할 때 Python에서 삼항 연산자를 사용하는 다른 방법이 있습니다. 파이썬 버전과의 호환성에 따라 삼항 연산자를 사용하는 다양한 방법이 있습니다. 이 튜토리얼은 다른 Python 버전에서 삼항 연산자를 사용하는 방법을 설명하는 예제 코드를 제공합니다.

Python 2.5 이상에서 삼항 연산자 사용

삼항 조건 연산자는 Python 2.5에서 추가되었습니다. 삼항 연산자는 세 개의 피연산자를 취하는 연산자로 정의됩니다. 이 방법에서는 먼저 주어진condition이 평가 된 다음 값 중 하나가 평가되고 부울 연산자를 기반으로 다시 전송됩니다. 먼저 표현식을 취한 다음 조건이 다시 나오고 표현식의else부분이 이어집니다.

파이썬에서 삼항 연산자의 구문은 다음과 같습니다.

value_if if condition else value_else

삼항 연산자가 먼저condition을 평가하므로 단락이 허용되고 두 표현식 중 하나만 평가됩니다. condition이 참이면 첫 번째 표현식value_if가 평가되고 그렇지 않으면 두 번째 표현식value_else가 평가됩니다.

아래 예제 코드는 Python에서 삼항 연산자를 사용하는 방법을 보여줍니다.

a = 2
b = 0
1 if a > b else 0

출력:

1

삼항 조건부 연산자의 출력은 아래 예제 코드와 같이 변수에 할당 될 수 있습니다.

a = 2
b = 0
temp = a if a > b else b
print(temp)

출력:

2

튜플을 사용하는 Python의 삼항 연산자

Python의 삼항 연산자는 튜플을 사용하여 사용할 수 있습니다. 평가할 표현식과 부울 조건문이 필요합니다. 반환되는 표현식은 부울 조건에 따라 다릅니다. 조건이 참이면 첫 번째 값이 반환되고식이 거짓이면 두 번째 값이 반환됩니다. 그러나 어떤 경우에도이 방법은 우승 한 표현식 만이 아닌 모든 것을 평가합니다.

이 삼항 연산자를 튜플을 사용하여 파이썬에서 사용하는 방법을 보여주는 예제 코드가 아래에 제공됩니다.

a, b = 12, 43
temp = (a * 2, b / 2)[a < b]
print(temp)

출력:

21.5

2.5 이전 버전에 대해lambda를 사용하는 삼항 연산자

Python 2.5 이전 버전의 경우lambda와 함께 삼항 연산자를 사용할 수 있습니다. 이 메서드는 반환 할 값과 부울 식을 사용합니다. 이 방법은 값이 필요할 때까지 평가 프로세스를 지연시키는 게으른 평가 기법을 따릅니다. 이런 의미에서 튜플 방법보다 더 나은 접근 방식입니다. 이 메소드의 표현식은(falseValue, trueValue)[Test]()로 제공됩니다. 테스트 조건이True로 평가되면trueValue가 인쇄됩니다. 그렇지 않으면falseValue가 인쇄됩니다.

Python에서lambda와 함께 삼항 연산자를 사용하는 방법을 설명하는 예제 코드가 아래에 제공됩니다.

val1, val2 = 12, 43

output = (lambda: val2, lambda: val1)[val1 > val2]()

print(output)

출력:

43
Syed Moiz Haider avatar Syed Moiz Haider avatar

Syed Moiz is an experienced and versatile technical content creator. He is a computer scientist by profession. Having a sound grip on technical areas of programming languages, he is actively contributing to solving programming problems and training fledglings.

LinkedIn

관련 문장 - Python Operator