[Python] 인수 전달 방식

ungnam·2025년 2월 14일

인수가 immutable일 때 (string, tuple, int, float...)

함수 안에서 매개변수의 값을 변경하면 다른 객체를 생성하고 그 객체에 대한 참조로 업데이트된다. 따라서 매개변수의 값을 변경해도 호출하는 쪽의 실제 인수에는 영향을 주지 않는다.

-> call by value 방식을 따름

인수가 mutable일 때 (list, dictionary, set...)

함수 안에서 매개변수의 값을 변경하면 객체 자체를 업데이트한다. 따라서 매개변수의 값을 변경하면 호출하는 쪽의 실제 인수는 값이 변경된다.

-> call by reference 방식을 따름

이렇게 객체의 타입에 따라 인수 전달 방식이 나누어지는 것을 call by object reference, 객체 참조에 의한 전달이라고 부른다.

profile
꾸준함을 잃지 말자.

0개의 댓글