개인 공부

[Python] 함수 사용하기

orin602 2025. 2. 22. 19:02
  • 파이썬은 함수(function)라는 기능을 제공하는데 특정 용도의 코드를 한 곳에 모아 놓은 것을 뜻한다.
  • 함수는 처음 한 번만 작성해 놓으면 나중에 필요할 때 계속 불러 쓸 수 있다.(재사용 가능한 코드 블록)
  • 함수의 장점
    • 코드 재사용 : 같은 기능을 여러 번 사용할 때 코드 중복을 줄일 수 있다.
    • 가독성 향상 : 코드를 기능별로 나누어 명확하게 표현이 가능하다.
    • 유지보수 용이 : 특정 기능을 변경할 때 함수만 수정하면 된다.
    • 모듈화 가능 : 여러 개의 작은 함수로 나누어 큰 프로그램을 쉽게 구성이 가능하다.
  • 함수의 단점
    • 메모리 사용 증가 : 함수 호출이 많아지면 스택 메모리를 많이 사용하게 된다.
    • 추가적인 실행 시간 필요 : 함수 호출 자체가 오버헤드 될 수 있다.(작은 연산시)
    • 잘못된 사용 시 복잡성 증가 : 너무 많은 함수를 정의하면 오히려 가독성이 떨어질 수 있다.
  • 함수의 주요 특징
    • 매개변수와 반환값
      • 매개변수(Parameter) : 함수가 입력을 받을 때 사용하는 변수.
      • 반환값(Return Value) : 함수가 실행된 후 돌려주는 값.
    • 기본값을 가진 매개변수
      • 기본값이 설정된 매개변수는 값을 입력하지 않으면 기본값이 사용된다.
    • 가변 인자(*args, **kwargs)
      • *args : 여러 개의 위치 인자를 받을 수 있음.
      • **kwargs : 여러 개의 키워드 인자를 받을 수 있음.

함수 만들기

 

 

함수 결과 반환하기

  • return을 사용하면 값을 함수 바깥으로 반환할 수 있고, 함수에서 나온 값을 변수에 저장할 수 있다.
  • return으로 반환하는 값을 반환값이라 하며, 함수를 호출해준 바깥에 결과를 알려주기 위해 사용한다.

 

함수에서 값을 여러 개 반환하기


함수의 호출 과정

  • 함수 여러 개를 만든 뒤 각 함수의 호출 과정을 스택 다이어그램(Stack Diagram)이라고 한다.
  • 스택은 위쪽부터 차례대로 꺼내는 방식(중간은 뺄 수 없음)

  • 초기상태
    • x = 10, y = 20이 메모리에 저장됨.
    • add(x, y)가 호출됨 >>>>> 새로운 스택 프레임이 생성됨.
단계 호출 스택(Call Stack) 설명
1. add(10, 20) 호출 add 함수 실행 새로운 스택 프레임 생성
2. c = 10 + 20 c = 30 저장 메모리에 c = 30 저장
3. print(c) 실행 30 출력 print()를 통해 30 출력
4. d = 10 * 20 d = 200 저장 메모리에 d = 200 저장
5. print(d) 실행 200 출력 print()를 통해 200 출력
6. add 함수 종료 스택에서 add 제거 함수 종료 후 스택 프레임 제거

함수 실행 시

 

함수가 끝난 뒤

 

  • 함수는 스택 방식으로 호출된다.
  • 함수를 호출하면 스택의 아래쪽 방향으로 함수가 추가되고, 함수가 끝나면 위쪽 방향으로 사라진다.
  • 프레임은 스택 안에 있어서 각 프레임을 스택 프레임이라고 부른다.
  • 전역 프레임은 스크립트 파일의 실행이 끝나면 사라진다.

함수에서 인수 사용하기

  • 위치 인수(Positional Arguments) : 함수의 매개변수(Parameter)에 순서대로 값을 전달하는 방식.
    • 매개변수의 순서대로 값이 전달됨.
    • 개수와 순서가 중요 >>> 잘못된 순서로 전달하면 의미가 달라질 수 있음.
  • 리스트 언패킹(List Unpacking) : 여러 개의 값을 리스트/튜플로 한 번에 전달할 때 사용.
    • 리스트 형태로 전달하면 각 요소가 개별적인 위치 인수로 전달됨.
    • 튜플도 동일하게 적용이 가능.

 

 

 

 

 

키워드 인수

 

  • 인수의 순서와 용도를 매번 기억하지 않도록 키원드 인수 기능 사용. >>> 함수(키워드=값)
  • 키워드 인수를 사용하면 함수를 호출할 때 인수의 용도를 명확히 볼 수 있음.

  • 키워드 인수를 사용하면 인수의 순서를 맞추지 않아도 키워드에 해당하는 값이 들어간다.

 

키워드 인수와 딕셔너리 언패킹 사용하기

딕셔너리의 키워드(키)는 반드시 문자열 형태!!!!

  • 딕셔너리는 *를 두 번 사용하는 이유 : 딕셔너리는 키-값 쌍의 형태로 값이 저장되어 있어서.

키를 사용한다는 뜻이 됨

 

 

키워드 인수를 사용하는 가변 인수 함수


매개변수에 초기값 지정하기

- 매개변수의 초기값은 주로 사용하는 값이 있고, 가끔 다른 값을 사용해야 할 때 활용한다.

  • 매개변수의 초깃값을 지정할 때 주의할 점
    • 초기값이 지정된 매개변수 다음에는 초기값이 없는 매개변수가 올 수 없다.
    • >>> 초기값이 지정된 매개변수는 뒤쪽에 몰아주기!

 

'개인 공부' 카테고리의 다른 글

[Python] 2차원 리스트  (0) 2025.02.22
[Python] 리스트와 튜플 (3)  (0) 2025.02.22
[Python] 반복문  (0) 2025.02.22
[Python] 조건문  (0) 2025.02.21
[Python] 딕셔너리  (0) 2025.02.21