함수의 매개변수에 참조의 사본이 저장된다는 의미이다. 달리 말하면 함수 안의 매개변수가 실
제 인수의 별칭이 된다.
이런 방식의 결과로, 함수는 인수로 전달받은 모든 가변 객체를 변경할 수 있지만 객체의 정체
성 자체는 변경할 수 없다. 즉, 어떤 객체를 다른 객체로 바꿀 수는 없다. [예제
6
-
11
]은 매개
변수 중 하나에
+=
연산자를 사용하는 간단한 함수를 보여 준다. 함수에 숫자, 리스트, 튜플을
전달하면, 전달받은 인수는 서로 다르게 영향을 받는다.
예제
6-11
함수는 전달받은 가변 객체를 수정할 수 있다.
>>> def f(a, b):
... a += b
... return a
...
>>> x = 1
>>> y = 2
>>> f(x, y)
3
>>> x, y ❶
(1, 2)
>>> a = [1, 2]
>>> b = [3, 4]
>>> f(a, b)
[1, 2, 3, 4]
>>> a, b ❷
([1, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.