Python Call by value, Call by reference
def swap(a, b): a, b = b, a print(a, b) n, m = 10, 20 swap(n, m) print(n, m) 위 코드를 실행하면 20 10 10 20 위 결과가 나온다. 위 코드는 n, m의 값을 바꿀 목적으로 작성했지만 함수 실행 시에만 변경된 값이 출력되며 실제로 n, m의 값은 바뀌지 않는 모습이다. 파이썬의 변수는 수정이 가능한 형식과 수정이 불가능한 형식이 있다. 수정 불가능한 객체는 immutable 객체라고 부른다. 수정 가능한 객체는 mutable 객체라고 부른다. immutable 객체는 tuple, str, int, bool, float 등이 있고 mutable 객체는 list, dict등이 있다. 여기서 immutable 객체는 함수의 인자로 넘어가게되면 ..