Python/공통이론
Python - 리스트를 통한 인수전달
zeroup
2023. 4. 6. 22:05
파이썬 인수 값은 정확하게 말하자면 참조 혹은 값에 의한 전달이 아니다. 함수가 호출되는 순간의 인수 이름과 값이 연결된 데이터-딕셔너리 엔트리로 전달된다. 함수 내에서 인수로 주어진 변수값은 수정되지 않는다는 의미다.
단, 리스트의 경우 수정이 가능하다.
>>> def set_list_vals(list_arg) :
>>> list_arg[0] = 100
>>> list_arg[1] = 200
>>> list_arg[2] = 300
>>>
>>> a_list = [0, 0, 0]
>>> set_list_vals(a_list)
>>> print(a_list) # [100, 200, 300]
단, 아래의 경우는 변경되지 않는다.
>>> def set_list_vals(list_arg) :
>>> list_arg = [100, 200, 300]
>>>
>>> a_list = [0, 0, 0]
>>> set_list_vals(a_list)
>>> print(a_list) # [0, 0, 0]
- list_arg에 새로운 리스트가 재대입 되면서 기존 list_arg와의 관계가 끊어진 것.