Table of Contents
Python – parameter by reference (참조로 값 전달)
질문이 잘못되었다.
파이선에는 애초에 참조란 개념이 없다.
a = 1
b = a
b = 3
print('a = {}, b = {}'.format(a, b))
# a = 1, b = 3
b 에 3 이 할당되는 순간, a 와 b 는 각각의 object 를 바라보게 된다.
함수 파라미터에 변수를 전달하면 위와 같은 상황이 발생한다.
a = [1, 2]
b = a
b.append(3)
print('a = {}, b = {}'.format(a, b))
# a = [1, 2, 3], b = [1, 2, 3]
b 자체를 변경하는 것이 아니라,
b 의 내용을 수정하는 것이라 a 와 b 는 같은 object 를 바라본다.
위와 같은 수정을 하게되면 함수 파라미터로 전달했을 때 값이 변경된다.