Python의 변수 전달 이해
Python에서 참조로 정수를 전달하는 것은 언어가 전달을 사용하여 작동하기 때문에 Python에서 고유한 과제를 제기합니다. 가치 의미론. Java와 같은 언어의 참조 유형과 달리 Python의 정수는 불변 객체입니다. 즉, 함수에 정수를 전달할 때 해당 함수 내에서 수정된 내용은 원래 값에 영향을 주지 않습니다.
컨테이너를 사용하여 값별 전달 우회
참조별 전달 동작을 모방하기 위한 한 가지 해결 방법은 목록과 같은 변경 가능한 컨테이너 내에서 정수를 전달하는 것입니다. 예는 다음과 같습니다.
def change(x): x[0] = 3 x = [1] change(x) print(x) # Output: [3]
정수를 목록으로 묶으면 컨테이너의 첫 번째 요소에 액세스하여 해당 값을 수정할 수 있습니다. 그러나 이 접근 방식에는 한계가 있으며 해킹으로 간주될 수 있습니다.
반환 값: 참조 전달의 대안
원하는 결과는 함수에서 수정된 값을 반환하는 것입니다. 이를 통해 함수 외부에서 원래 변수를 다시 할당할 수 있습니다.
def multiply_by_2(x): return 2*x x = 1 x = multiply_by_2(x)
이 시나리오에서 Multiply_by_2 함수는 정수를 가져와서 결과를 반환한 다음 원래 변수 x에 할당됩니다.
위 내용은 값별 전달 의미에도 불구하고 Python의 함수 내에서 정수를 어떻게 수정할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!