> 백엔드 개발 > 파이썬 튜토리얼 > Python의 다중 할당은 변수 평가 순서에 어떤 영향을 줍니까?

Python의 다중 할당은 변수 평가 순서에 어떤 영향을 줍니까?

Susan Sarandon
풀어 주다: 2024-12-16 14:43:10
원래의
616명이 탐색했습니다.

How Does Python's Multiple Assignment Affect Variable Evaluation Order?

Python의 다중 할당 및 평가 순서

Python에서는 여러 변수에 동시에 값이 할당되는 다중 할당이 일반적인 관행입니다. 그러나 이러한 과제의 평가 순서는 예상치 못한 결과를 초래할 수 있습니다.

문제

다음 코드를 고려하세요.

>>> x = 1
>>> y = 2
>>> x, y = y, x + y  # Multiple assignment
로그인 후 복사

이후 할당에서 x와 y의 값은 다음과 같습니다.

>>> x
2
>>> y
3
로그인 후 복사

이것은 예상한 것과 다릅니다. 할당이 별도로 수행된 경우:

>>> x = 1
>>> y = 2
>>> x = y  # Assign x to the current value of y
>>> y = x + y  # Assign y to the sum of x and y
>>> x
2
>>> y
4
로그인 후 복사

설명

할당문의 평가 순서로 인해 차이가 발생합니다. Python에서는 변수에 대한 실제 할당이 발생하기 전에 할당의 오른쪽이 먼저 평가됩니다.

첫 번째 예에서 x, y = y, x y를 할당하면 오른쪽- hand 측은 다음과 같이 평가됩니다.

ham = y  # Where ham = 2
spam = x + y  # Where spam = 1 + 2 = 3
로그인 후 복사

그런 다음 x에는 ham(2) 값이 할당되고 y에는 spam(3) 값이 할당됩니다. 이것이 x = 2 및 y = 3이라는 결과를 얻는 이유입니다.

반대로 두 번째 예에서는 x에 먼저 y의 값인 2가 할당됩니다. 그런 다음 y에 다음의 합이 할당됩니다. x(2)와 y(2)로 결과는 4입니다.

위 내용은 Python의 다중 할당은 변수 평가 순서에 어떤 영향을 줍니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿