mutable과 immutable, deep copy와 shallow copy

개발하는 G0·2023년 6월 15일
0

https://wikidocs.net/16038

import copy

def update_dict(dict_inner):
    for i in dict_inner.keys():
        dict_inner[i].append(f'{i}일까요?')
    print(dict_inner)




dict1 = {0:['0입니다'], 1:['1입니다'], 2:['2입니다']}
update_dict(dict1)
print(dict1)


def update_list(list_inner):
    for i in range(len(list_inner)):
        list_inner[i] = list_inner[i] + '용'
    print(list_inner)



list1 = ['0입니다', '1입니다', '2입니다']
update_list(list1)
print(list1)

list와 dict, set은 mutable한 객체로, 함수에 전해질 때 주소값만 인자로 넘어간다.
나머지 객체들은 immutable한 객체로 함수에 전해질 때 값 자체가 인자로 넘어간다.

profile
초보 개발자

0개의 댓글