Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python 삼항 연산자 완벽 가이드: 한 줄로 조건문 작성하기

Python 삼항 연산자(Ternary Operator)는 주어진 조건이 참(True)인지 거짓(False)인지를 평가할 수 있게 해주는 연산자입니다. 삼항 연산자는 단 한 줄의 코드로 작성되기 때문에 전체 if…else 문보다 더 짧고 간결합니다.

if 문과 같은 조건문을 사용하면 프로그램의 실행 흐름을 제어할 수 있습니다. 조건문 내부의 코드는 특정 조건(또는 여러 조건)이 충족될 때만 실행됩니다.

Python에서 조건문을 작성하는 가장 일반적인 방법은 if 문을 사용하는 것입니다. 하지만 Python은 한 줄로 조건을 검사할 수 있는 다른 방법도 제공하는데, 바로 삼항 연산자입니다.

이 글에서는 조건문의 기본 개념과 Python 삼항 연산자의 사용 방법을 예제와 함께 자세히 살펴보겠습니다.

Python 조건문이란?

프로그램을 작성하다 보면 특정 조건이 충족될 때만 코드 한 줄 또는 코드 블록이 실행되기를 원하는 경우가 있습니다. 바로 이럴 때 조건문이 유용하게 사용됩니다.

Python의 if 문은 조건이 충족되었는지 확인하는 데 사용됩니다.

예를 들어, 영화관에서 고객이 10% 할인 대상인지 확인하는 앱을 만든다고 가정해 보겠습니다. 고객이 65세 이상이라면 할인을 제공하고, 그렇지 않다면 할인을 제공하지 않아야 합니다. 이러한 프로그램은 if…else 문으로 구현할 수 있습니다.

하지만 if 문은 최소 두 줄 이상의 코드를 차지합니다. 만약 평가해야 할 조건이 몇 개 되지 않는다면, 더 간결하게 작성할 수 있는 방법이 있습니다. 바로 Python의 삼항 연산자입니다.

Python 삼항 연산자

삼항 연산자는 Python에서 하나의 표현식(statement)을 평가하는 조건 표현식(conditional expression)의 일종입니다. 삼항 연산자는 해당 표현식이 참인지 거짓인지에 따라 동작을 수행하며, 전통적인 if…else 문보다 훨씬 간결합니다.

Python 삼항 연산자의 기본 문법은 다음과 같습니다:

[참일_때_값] if [조건식] else [거짓일_때_값]

Python의 삼항 조건 연산자는 세 개의 요소, 즉 참일 때 반환할 값(if_true), 평가할 조건식(expression), 거짓일 때 반환할 값(if_false)을 받는다고 해서 '삼항'이라는 이름이 붙었습니다.

삼항 연산자는 주로 변수의 값을 결정하는 데 사용됩니다. 변수는 조건식이 True로 평가되면 '참일 때 값'을, False로 평가되면 '거짓일 때 값'을 받습니다.

삼항 연산자를 이해하는 좋은 방법은 리스트 컴프리헨션(list comprehension)이나 람다 함수(lambda function)와 비교하는 것입니다. 리스트 컴프리헨션은 리스트를 필터링하는 더 효율적인 방법이고, 람다 함수는 함수를 정의하는 더 간결한 방법입니다. 마찬가지로 삼항 연산자는 if 문을 더 효율적으로 작성하는 방법입니다.

다만, 삼항 연산자 역시 코드의 가독성을 높이기 위해서만 사용해야 합니다. 남용하면 오히려 코드를 읽고 이해하기 어려워질 수 있으므로 주의해야 합니다.

Python 삼항 연산자 예제

영화관에서 65세 이상 고객에게 할인을 제공한다고 가정해 보겠습니다. 65세 미만 고객은 할인 대상이 아닙니다. 다음 코드를 사용하여 고객이 할인 대상인지 확인할 수 있습니다:

age = 48
discount = True if age >= 65 else False
print(discount)

위 코드를 실행하면 False가 출력됩니다.

첫 번째 줄에서는 age라는 Python 변수를 선언하고 값 48을 할당했습니다. 다음으로 삼항 연산자를 사용하여 고객이 할인 대상인지 계산합니다.

삼항 연산자는 age >= 65라는 표현식을 평가합니다. age가 48이므로 이 표현식은 False로 평가되고, 따라서 else 뒤에 있는 코드가 실행됩니다.

마지막으로 삼항 연산자의 결과를 콘솔에 출력하며, 결과값은 False입니다.

이 예제를 일반적인 if…else 문과 비교하면 코드 줄 수가 크게 줄어든 것을 확인할 수 있습니다. 일반 if 문으로 작성하려면 다섯 줄이 필요하지만, 삼항 연산자를 사용하면 단 세 줄로 처리할 수 있습니다.

이 예제에서 삼항 연산자는 Python 불리언(boolean) 값(True 또는 False)을 반환했습니다. 하지만 삼항 연산자는 원하는 어떤 값이든 반환하도록 설정할 수도 있습니다.

숫자 값을 활용한 삼항 연산자

이번에는 고객의 할인 대상 여부에 따라 서로 다른 할인율을 적용한다고 가정해 보겠습니다. 영화관은 기본적으로 모든 고객에게 5% 할인을 제공하지만, 시니어(65세 이상) 고객은 10% 할인을 받을 수 있습니다.

다음 프로그램은 고객이 시니어 할인 대상인지 확인하고, 해당하지 않는 경우 5% 할인율을 적용합니다:

age = 22
discount = 5 if age < 65 else 10
print(discount)

위 코드를 실행하면 5가 출력됩니다. 코드에서는 age 변수에 값 22를 할당했습니다.

삼항 연산자를 사용하여 age 변수의 값이 65보다 작은지 확인합니다. 고객 나이가 22살이므로 age < 65라는 표현식은 True로 평가되고, 고객은 5% 할인율을 받게 됩니다. 만약 고객이 65세 이상이라면 10% 할인율이 적용되었을 것입니다.

마지막으로 discount 변수의 값을 콘솔에 출력합니다.

마무리

Python 삼항 연산자는 간단한 if 문을 더 효율적으로 수행할 수 있는 방법입니다. 삼항 연산자는 조건을 평가한 후, 그 조건이 True인지 False인지에 따라 지정된 값을 반환합니다.

위의 예제에서 우리는 if 문을 단 한 줄로 실행할 수 있었습니다. 이는 일반적으로 여러 줄에 걸쳐 작성해야 하는 if 문보다 훨씬 간결합니다.

그러나 삼항 연산자가 항상 사용 가능한 것은 아닙니다. 여러 개의 표현식을 검사해야 하는 경우에는 전체 if 문을 작성하는 것이 좋습니다. 이렇게 하면 코드의 가독성과 이해도를 유지할 수 있습니다.

이 글에서는 예제를 통해 Python 삼항 연산자의 기본 개념과 작동 방식을 살펴보았습니다. 이제 여러분도 Python 전문가처럼 삼항 연산자를 활용할 수 있습니다!

Python 코딩에 대해 더 배우고 싶다면, 'How to Learn Python' 완전 가이드를 참고해 보세요.