1. 소개
Python 프로그래밍에서 한 줄로 if 문을 작성하면 코드를 단순화할 수 있으며, 조건 분기가 자주 발생하는 상황에서 특히 유용합니다. 이 글에서는 Python “if” 문을 한 줄로 작성하는 여러 기법을 자세히 설명합니다. 삼항 연산자와 리스트 컴프리헨션과 같은 실용적인 예시를 통해 가독성 높고 효율적인 코드를 작성하는 방법을 배워보세요.
2. Python의 삼항 연산자를 사용하여 한 줄 if 문 작성 방법
Python에서는 삼항 연산자(조건식)를 사용해 한 줄로 if 문을 작성할 수 있습니다. 조건에 따라 값을 반환해야 할 때 유용하며, 코드를 간결하게 유지할 수 있습니다.
삼항 연산자 구문
Python 삼항 연산자는 다음과 같이 작성합니다:
variable = value1 if condition else value2
이 구문에서는 조건이 True이면 “value1″이 반환되고, False이면 “value2″가 반환됩니다.
예시: 짝수와 홀수 확인
예를 들어, 숫자가 짝수인지 홀수인지 확인하고 결과에 따라 다른 문자열을 반환할 수 있습니다:
number = 4
result = "even" if number % 2 == 0 else "odd"
print(result) # Output: even
이처럼 한 줄로 if 문을 작성할 수 있기 때문에 간단한 조건 분기에서 매우 편리합니다.
삼항 연산자의 실용적인 활용
예를 들어, 사용자가 로그인했는지 여부에 따라 메시지를 표시하는 데 삼항 연산자를 사용할 수 있습니다.
is_logged_in = True
message = "Welcome" if is_logged_in else "Please log in"
print(message) # Output: Welcome
삼항 연산자는 조건에 기반한 간단한 선택에 이상적입니다. 하지만 복잡한 로직을 한 줄에 작성하면 가독성이 떨어질 수 있으므로 단순한 경우에만 사용하는 것이 권장됩니다.

3. 리스트 컴프리헨션과 if 문 결합
Python의 리스트 컴프리헨션은 리스트를 생성하는 간결한 코드를 작성할 수 있는 강력한 방법을 제공합니다. if 문과 결합하면 지정된 조건에 따라 리스트를 구성할 수 있습니다.
리스트 컴프리헨션 기본 구문
리스트 컴프리헨션에서 if 문을 사용할 때는 다음과 같이 작성합니다:
list = [expression for variable in iterable if condition]
예시: 짝수 리스트 만들기
0부터 9까지의 짝수만을 리스트에 모으려면 다음과 같이 작성합니다:
even_numbers = [x for x in range(10) if x % 2 == 0]
print(even_numbers) # Output: [0, 2, 4, 6, 8]
리스트 컴프리헨션 적용 예시
리스트 컴프리헨션은 데이터 필터링 및 변환에도 유용합니다. 예를 들어, 문자열 리스트에서 특정 길이의 단어만 추출할 때 활용할 수 있습니다.
words = ["apple", "banana", "cherry", "date"]
filtered_words = [word for word in words if len(word) > 5]
print(filtered_words) # Output: ['banana', 'cherry']
리스트 컴프리헨션을 사용하면 조건에 따라 데이터를 효율적으로 추출·변환하면서 코드를 짧게 만들 수 있습니다.
4. Python if와 for 문을 한 줄에 사용하기
for와 if 문을 결합하면 주어진 조건을 만족하는 요소만 처리하는 한 줄 코드를 작성할 수 있습니다. 이는 큰 리스트 연산을 단순화하는 데 유용합니다.
if와 for 문 한 줄 구문
기본 구문은 다음과 같습니다.
list = [expression for variable in iterable if condition]
예시: 짝수의 제곱 리스트 만들기
1부터 10까지의 짝수 제곱을 리스트로 만들려면 다음을 사용합니다.
squared_evens = [x**2 for x in range(1, 11) if x % 2 == 0]
print(squared_evens) # Output: [4, 16, 36, 64, 100]
적용 예시: 특정 조건에 따른 데이터 필터링
이 코드는 리스트에서 양수만 추출하여 새로운 리스트에 모읍니다.
numbers = [-5, -1, 2, 8, -3, 7]
positive_numbers = [num for num in numbers if num > 0]
print(positive_numbers) # Output: [2, 8, 7]
if와 for를 한 줄에 함께 작성하면 코드 중복을 줄이고 효율적인 데이터 조작이 가능합니다.

5. 할당 표현식(월러스 연산자)과 함께 한 줄 if
할당 표현식 (walrus 연산자) :=, Python 3.8 이상에서 도입되었으며, if 문 내에서 변수에 할당할 수 있게 합니다. 그 주요 특징은 조건을 평가하면서 계산 결과를 저장할 수 있게 한다는 점입니다.
할당 표현식의 구문 및 기본 사용법
할당 표현식의 구문 및 기본 사용법
if (variable := expression) condition:
process
예제: 리스트의 길이를 조건으로 사용하기
리스트의 길이를 가져와 조건으로 평가하면서, 이를 기반으로 처리를 수행합니다.
some_list = [1, 2, 3, 4, 5]
if (length := len(some_list)) > 3:
print(f"The length of the list is {length}, which is greater than 3")
# Output: The length of the list is 5, which is greater than 3
실용적인 사용 사례
walrus 연산자를 사용하면 중복 계산을 피하고 성능을 잠재적으로 향상시킬 수 있습니다. 리스트나 문자열 작업과 같은 계산 결과를 재사용해야 하는 상황에서 특히 효과적입니다.
6. 한 줄 if 문 사용 시 주의사항
한 줄 if 문은 강력하지만, 과도하게 사용하면 가독성을 떨어뜨릴 수 있습니다. 간단한 조건부 검사에만 사용하고, 더 복잡한 로직이 필요할 때는 일반 if 문으로 전환하세요.
7. 요약 및 다음 단계
이 기사에서 Python if 문을 한 줄로 작성하는 다양한 기술을 소개했습니다. 간단한 조건부 분기부터 리스트 조작과 walrus 연산자 사용까지, 한 줄 if 문의 장점과 주의점을 다루었습니다. 이러한 기술을 적용하여 일상적인 Python 프로그래밍을 더 효율적으로 만들어 보세요.



