python

[기초 1-2] 함수(function)

jia.son 2022. 3. 13. 17:08

매개변수(parameter)와 인수(arguments)의 차이점

매개 변수(parameter)는 이 값을 전달받는 변수이다.

def set_sum(start, end)

 

인수(argument)는 호출 프로그램에 의하여 함수에 실제로 전달되는 값이다.

value = get_sum(1,10) #1,10 매개변수에 복사되는 값 : call by value

함수가 호출될 때마다 인수는 달라질 수 있다.

*매개변수와 인수의 수는 일치해야 한다. 매개변수가 2개라면 인수의 값도 두개여야 한다.

 

call by value / call by reference 의 차이

 

Call by value(값에 의한 호출)

인자로 받은 값을 복사하여 처리를 한다.

  • 장점 : 값을 복사하여 처리하기 때문에 원래 값이 영향을 받지 않는다.
  • 단점 : 값을 복사하여 처리하기 때문에 메모리 사용량 많다.

 

Call by reference(참조에 의한 호출)

인자로 받은 값의 주소를 참조하여 그 주소에 해당하는 값을 수행한다.

  • 장점 : 값을 복사하지 않고 직접 참조를 하기 때문에 메모리 사용량을 줄일 수 있다.
  • 단점 : 매개 변수의 주소를 참조를 하기에 원래 값이 영향을 받는다.

 

Stack / Queue 

스택(Stack)

LIFO(last-in-first-out) 개념의 자료구조이다. 마지막에 들어간 데이터가 먼저 나오는 구조이다.(후입선출)

*stack을 쌓다 : push / stack을 빼다 : pop

 

큐(Queue)

FIFO(first-in-first-out) 개념의 자료구조이다. 먼저 들어간 데이터가 먼저 나오는 구조이다.(선입선츨)

 

반환값(return value)

- 함수를 호출한 곳으로 작업 수행의 결과값을 반환한다.

def calc(x, y, z):
    return x + y + z #return 문장 뒤에 수식을 써주면 수식의 값이 반환된다.

함수가 값을 반환하지 않는 경우에는 None 을 반환한다. None은 ’어떤 객체도 참조하지 않는다’는 의미이다.

  • 타 언어에서는 null 로 사용된다

 

Return 함수

결과있는 함수(fruitful function) 

함수호출 시 내부 로직에서 수행된 결과값을 반환해주는 함수

 

빈 함수(void function) 

값을 반환하지 않는 함수로 자체에서 내부 로직처리를 수행

사용목적 : 값을 계산하지 않고 명령어들만 실행하는 경우(함수 내부 return문 뒤에 값이 없다면 함수의 종료함)

 

디폴트 인수(default argument)

함수의 매개변수가 기본값을 가질 수 있는데 이것을 디폴트 인수(default argument)라고 한다.

def friends (name, name2 = "Jackson") #frends()는 2개의 인수를 받아야 함
print("Hi", name, name2)
friends("jia") #name2자리에 argument가 없음으로 디폴트 인수("Jackson")를 사용함
friends("jia", "mini") #두 인수를 가졌으므로 디폴트 인수를 사용하지 않음

 

'python' 카테고리의 다른 글

[ADsP]  (0) 2022.05.01
[기초 1-3] 함수(function)  (0) 2022.03.27
[Jupyter Notebook] Pandas (1. Series/Dataframe/Index)  (0) 2022.03.20
[Jupyter Notebook] Jupyter Notebook 준비  (0) 2022.03.13
[기초 1-1] 함수(function)  (0) 2022.03.06