핫한(?) GPT 에게 물어 보았다.
--> 가변 객체를 함수 인자로 넘기라고 한다.
기본 지식으로...
파이썬은 Passed by Assignment 라고 한다. 즉, 어떤 값을 넘기느냐에 따라 Call By Value 혹은 Call By Reference로 동작할 수 있다고 한다.
int, float와 같은 불가변(immutable)인자를 함수로 넘기면 call-by-value가 되고, list, tuple, dict과 같은 가변(mutable) 인자를 함수로 넘기로 넘기면 call-by-reference 로 동작한다.
(정확하게 말하면, 파이썬은 모든 것이 객체 이기 때문에 가변 객체는 함수 안에서 새로운 값을 생성하지 않고, 불가변 객체는 새로운 값을 생성하기 때문에 각각 Call-by-reference, Call-by-value로 동작하는 것 처럼 보이는 것이라 한다)
https://stackoverflow.com/questions/986006/how-do-i-pass-a-variable-by-reference
반응형
'프로그래밍 언어 > python' 카테고리의 다른 글
self의 의미 (0) | 2023.03.27 |
---|---|
파이썬 프로퍼티(Property) (0) | 2023.01.08 |
Data Classes (0) | 2022.12.11 |
[OS] python 과 실행파일 (0) | 2021.04.09 |
경로 유틸리티 (0) | 2021.02.07 |