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 중국어 웹사이트의 기타 관련 기사를 참조하세요!