hojeomi blog
Day 2-2. 파이썬 함수에서 call by object reference 본문
1. 함수 호출 방식 개요
- 값에 의한 호출(call by value)
- 참조에 의한 호출(call by reference)
- 객체 참조에 의한 호출(call by object reference)
1-1) 값에 의한 호출(call by value)
- 함수에 인자를 넘길 때 값만 넘김
- 함수 내에 인자 값 변경 시, 호출자에게 영향을 주지 않음
1-2) 참조에 의한 호출(call by reference)
- 함수에 인자를 넘길 때 메모리 주소를 넘김
- 함수 내에 인자 값 변경 시, 호줄자의 값도 변경됨
1-3) 객체 참조에 의한 호출(call by object reference) → 파이썬에서 쓰는 방식
- 파이썬은 객체의 주소가 함수로 전달되는 방식
- 전달된 객체를 참조하여 변경 시 호출자에게 영향을 주나, 새로운 객체를 만들 경우 호출자에게 영향을 주지 않음
- swap
- 함수를 통해 변수 간의 값을 교환하는 함수
- call by~를 설명하기 위한 전통적인 함수 예시
- swap_offset 함수와 swap_reference 함수의 기능은 같지만, swap_offset은 외부의 객체를 불러오는 반면 swap_reference는 함수 밖에 있는 객체를 유지하면서도 활용할 수 있음
2. 변수의 범위(Scoping Rule)
'AI > Course' 카테고리의 다른 글
Day 6-2. 벡터 (0) | 2021.01.25 |
---|---|
Day 6-1. numpy (0) | 2021.01.25 |
Day 5-1. File / Exception / Log Handling (0) | 2021.01.22 |
4-1. 파이썬 OOP(객체 지향 프로그래밍) (1) | 2021.01.22 |
3-2. Pythonic Code (0) | 2021.01.21 |
Comments