8. 함수/정의방법
[파이썬] 함수는 입력되는 변수를 참조로 가져온다 (copy함수의 사용)
만다린망고
2023. 5. 25. 20:02
반응형
아래 코드를 봅시다.
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]
반응형