Python의 삼항 조건 연산자

  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
튜토리얼이 마음에 드시나요? DelftStack을 구독하세요 YouTube에서 저희가 더 많은 고품질 비디오 가이드를 제작할 수 있도록 지원해주세요. 구독하다
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