x = y = somefunction()과 같은 연결 할당은 예상 평가 순서와 다르기 때문에 혼란스러울 수 있습니다. . x = somefunction() 및 y = somefunction()이 순차적으로 실행된다는 가정과 달리 연쇄 할당은 다른 패턴을 따릅니다.
연속 할당에서는 가장 왼쪽의 대상 변수가 먼저 할당됩니다. 이는 다음 코드가
<code class="python">x = y = somefunction()</code>
과 동일하다는 것을 의미합니다.
<code class="python">temp = somefunction() x = temp y = temp</code>
보시다시피 somefunction()에서 반환된 값은 먼저 임시 변수(temp)에 저장됩니다. ) 그런 다음 x와 y에 모두 할당됩니다.
연결된 할당에서는 항상 동일한 객체가 할당된다는 점에 유의하는 것이 중요합니다. 각 목표. 이는 목록과 같은 변경 가능한 객체를 처리할 때 의도하지 않은 결과를 초래할 수 있습니다. 예를 들어 다음 코드는
<code class="python">x = y = []</code>
동일한 목록 개체를 x와 y에 할당합니다. 즉, x에 대한 모든 수정 사항은 y에도 반영됩니다.
이 문제를 방지하려면 다음 올바른 예에서 볼 수 있듯이 항상 변경 가능한 변수에 대해 고유한 개체를 생성하세요.
<code class="python">x = [] y = []</code>
위 내용은 다음은 제공된 기사의 핵심을 포착하는 몇 가지 질문 기반 제목입니다. * Python의 연결 할당: `x = y = somefunction()`이 이렇게 작동하는 이유는 무엇입니까? * Python은 Chai를 어떻게 처리합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!