본문 바로가기

reference2

파이썬(Python) 함수 참조에 의한 호출? C와 같은 언어에선 함수 호출 시 인자로 포인터를 넘겨서 참조(reference)를 가져올 수 있습니다. 이런 개념에 익숙하다면 파이썬에서의 함수 호출 시 인자가 '값에 의한 호출(call by value)'인지 '참조에 의한 호출(call by reference)'인지 헷갈릴 때가 많습니다. 이럴 때는 딱 한가지만 기억하세요. 파이썬은 '할당에 의한 전달(pass by assignment)' 이다. 먼저 함수를 사용하지 않는 아래 예제부터 먼저 볼께요. 변수값이 함수내에서 수정이 가능한지 확인하기 위해서 mutable 타입인 리스트(list)를 사용해 보겠습니다. a = [1, 2, 3] # 리스트(list) [1, 2, 3]을 a에 할당 했습니다. a는 리스트 [1, 2, 3]을 가리키게 되죠 b =.. 2020. 9. 10.
파이썬(Python) 리스트 복사하기 파이썬(Python)으로 코딩할 때 가끔씩 리스트를 복사할 일이 생깁니다. 하지만 주의하지 않으면 오류를 만들어 디버깅을 힘들게 할 수 도 있습니다. 즉, 아래와 같이 새로운 리스트에 기존 리스트를 할당해 버리면 실제로 복사가 일어나지 않고 새로운 리스트는 기존 리스트를 참조하게 됩니다. 그래서 기존 리스트의 값을 변경해주면 새로운 리스트의 값 역시 바뀌게 되죠. old_list = [0, 1, 2, 3] new_list = old_list print(new_list) # [0, 1, 2, 3] old_list[0] = 10 print(new_list) # [10, 1, 2, 3] 실제로 독립된 두개의 리스트를 갖기 위해서는 아래와 같은 방법들로 가능합니다. 먼저, 제가 선호하는 방법인 슬라이싱으로 복사.. 2020. 9. 9.