python에서의 call by value & call by reference

2019. 8. 18. 22:30PL/Python

함수의 인자로 객체의 주소가 전달되는 상황에서, 전달되는 객체를 참조하여 변경 시 호출자에게 영향을 미치지만 새로운 객체를 만들 경우 호출자에게 영향을 주지 않는다

 

def func(a):
    # 객체를 직접 변경
    a.append(3)
    # a는 list_data를 가리키지만 새로운 객체를 만드는 경우 [6, 7, 8]을 가리키게 된다
    a = [6, 7, 8]

list_data = [1, 2]
func(list_data)
print(list_data)

 

'PL > Python' 카테고리의 다른 글