hojeomi blog

Day 2-2. 파이썬 함수에서 call by object reference 본문

AI/Course

Day 2-2. 파이썬 함수에서 call by object reference

호저미 2021. 1. 25. 10:16

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