본문 바로가기
8. 함수/정의방법

[파이썬] 함수는 입력되는 변수를 참조로 가져온다 (copy함수의 사용)

by 만다린망고 2023. 5. 25.
반응형

아래 코드를 봅시다. 

def add(lst) :
    lst.append(6)

a=[1,2,3,4,5]

add(a)


이 코드에서 a를 출력하면 무엇이라고 나올까요? 아래와 같은 결과가 나옵니다. 

>>> a
[1, 2, 3, 4, 5, 6]


함수에 변수가 입력되면 변수를 참조해서 가져오기 때문에 원래 변수가 변하게 됩니다. 

변수를 참조하지 않고 가져오려면 아래와 같이 copy 함수를 사용해야 합니다. 

def add(lst):
    new_lst = lst.copy()  # 또는 new_lst = list(lst)
    new_lst.append(5)
    return new_lst

a = [1, 2, 3, 4, 5]
result = add(a)

 

결과는 아래와 같습니다. 

>>> a
[1, 2, 3, 4, 5]

 

반응형

댓글