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' 카테고리의 다른 글

python 가변인자 *, 가변 키워드인자 **  (0) 2019.08.19
파이썬 코딩 컨벤션 atom flake8 설치  (0) 2019.08.18
sort와 sorted의 차이  (0) 2019.08.18
반환값이 없는 함수를 print  (0) 2019.08.18
파이썬 리스트 중복 제거  (0) 2019.08.16