Python 할당 표현식

PythonBeginner
지금 연습하기

소개

이 랩에서는 "바다코끼리 연산자" (:=) 라고도 알려진 Python 할당 표현식에 대해 배우겠습니다. Python 3.8 에 도입된 이 연산자를 사용하면 표현식의 일부로 변수에 값을 할당할 수 있습니다. 이는 코드를 최적화하고, 중복 계산을 피하며, 복잡한 표현식을 단순화하는 데 특히 유용합니다.

이 랩을 마치면 Python 프로그램에서 할당 표현식을 이해하고 적용할 수 있게 될 것입니다. 간단한 예시부터 시작하여 점차 더 복잡한 예시로 진행할 것입니다.

간단한 할당 표현식

이 단계에서는 할당 표현식의 기본 구문을 이해하기 위해 간단한 예시부터 시작합니다.

Python 셸 열기

터미널에서 다음 명령을 입력하여 Python 셸을 엽니다.

python3

간단한 테스트

간단한 예시부터 시작해 보겠습니다.

## 할당 표현식의 기본 예시
n = 5
result = (squared := n * n)
print(squared, result)

출력:

25 25

여기서, 괄호 안에서 바다코끼리 연산자 :=를 사용하여 n * n의 결과를 변수 squared에 할당합니다. 그런 다음 squared의 값을 변수 result에 할당합니다. 마지막으로 squaredresult의 값을 출력합니다.

조건문에서 할당 표현식 사용하기

이 단계에서는 조건문 내에서 할당 표현식을 사용하는 방법을 살펴보겠습니다.

## 조건문에서 할당 표현식 사용하기
input_str = "Hello, world!"
if (length := len(input_str)) > 10:
    print(f"The string has {length} characters, which is more than 10.")
else:
    print(f"The string has {length} characters, which is less than or equal to 10.")

출력:

The string has 13 characters, which is more than 10.

여기서, input_str의 길이를 계산하고 if 문의 조건 내에서 바다코끼리 연산자를 사용하여 이를 변수 length에 할당합니다. 이를 통해 조건문의 두 분기 모두에서 length 값을 사용할 수 있습니다.

반복문에서 할당 표현식 사용

이제 루프에서 할당 표현식을 사용하는 방법을 살펴보겠습니다.

## 루프에서 할당 표현식 사용하기
numbers = [1, 2, 3, 4, 5]
while (n := numbers.pop()) > 2:
    print(f"Popped {n}, which is greater than 2.")
print(f"Popped {n}, which is less than or equal to 2.")

출력:

Popped 5, which is greater than 2.
Popped 4, which is greater than 2.
Popped 3, which is greater than 2.
Popped 2, which is less than or equal to 2

이 예제에서는 while 루프의 조건 내에서 바다코끼리 연산자를 사용하여 numbers 리스트에서 요소를 꺼내 변수 n에 할당합니다. 루프는 2 이하의 요소가 꺼내질 때까지 계속됩니다.

리스트 컴프리헨션에서 할당 표현식 사용

마지막으로, 리스트 컴프리헨션에서 할당 표현식을 사용하는 방법을 살펴보겠습니다.

## 리스트 컴프리헨션에서 할당 표현식 사용하기
from math import sqrt

numbers = [1, 4, 9, 16, 25]
roots = [int(root) for n in numbers if (root := sqrt(n)) == int(root)]
print(roots)

출력:

[1, 2, 3, 4, 5]

이 예제에서는 리스트 컴프리헨션 내에서 바다코끼리 연산자를 사용하여 numbers의 각 숫자의 제곱근을 계산하고 정수인지 확인합니다. 정수이면 정수 제곱근을 roots 리스트에 추가합니다.

요약

이 랩에서는 일련의 단계별 예제를 통해 Python 할당 표현식 (바다코끼리 연산자) 을 살펴보았습니다. 조건문, 루프 및 리스트 컴프리헨션에서 기본적인 구문과 사용법을 다루었습니다. 이제 Python 코드에서 할당 표현식을 사용하여 복잡한 표현식을 최적화하고 단순화하는 방법에 대한 이해를 갖게 되셨을 것입니다.

코드를 더 읽기 쉽고 효율적으로 만들기 위해 할당 표현식을 현명하게 사용하는 것을 잊지 마십시오. 다른 프로그래밍 기능과 마찬가지로, 과도하거나 부적절하게 사용하면 유지 관리가 어려워질 수 있으므로 남용하지 않는 것이 중요합니다.

다양한 시나리오에서 바다코끼리 연산자를 계속 연습하고 실험하여 Python 프로그래밍 기술을 향상시키십시오. 행운을 빌며, 즐거운 코딩 되세요!