22.10.11 - 함수

LaMelo·2022년 10월 11일
0

jupyter

목록 보기
12/29
post-thumbnail

<<함수>>

반복적으로 사용하는 기능을 묶어서 함수로 정의하면 간편하게 사용할 수 있다.

▶기본 문법

def 함수 이름(매개변수):
<수행할 내용1>
<수행할 내용2>
<수행할 내용3>
return

▶ 매개변수

  • 함수 안에서 사용할 값을 전달하는 변수로 <수행할 내용> 문장에서 변수로 사용된다.
  • 함수 정의문에서 매개변수로서 선언되며 실제로 함수를 호출할 때는 인자값으로 전달된다.

▶ 용어

  • def : 함수를 정의할 때 사용하는 키워드
  • return : 함수의 결과값을 반환하는 키워드
  • 입력값 = 인수, 입력인수, 인자라고 부른다.
  • 결과값 = 출력값, 리턴값, 돌려주는 값, 반환값이라고 부른다.

기본적인 함수의 예제

1. 완전한 실행문

  • 파이썬은 유니코드가 지원되어 변수명을 한글로 설정이 가능하다.(but 권장은 x)

  • 물론 이런 식의 단순 코딩도 가능하지만 함수 설정시 코딩에 있어 큰 효율성을 발휘 할 수 있다. (일반 출력과 함수 출력 비교)

  • 이러한 완전한 실행문에서의 함수는 특정한 입력값 설정 없이도 출력이 된다는 점이다.

2. 불완전한 실행문

  • 불완전한 실행문에서는 입력값을 설정해야 연산이 가능하다.
  • 입력값 설정을 통한 연산 과정(a를 설정해주면 작동)
  • 주의 할 점은 함수 내부에 선언된 변수는 외부 출력이 불가하다.(오늘자 사이드에 상세 설명 첨부 - 스택과 힙 내부 작업의 순서에 따른 결과)
  • return 구문이 존재하지 않을 때의 모습(함수 내부에 print()를 수행한 뒤 리턴 값이 존재하지 않게게 된다.)
  • return 구문이 존재할 경우 출력 값(함수 안에 print 처리 후 리턴 값 출력)
  • 두 구문의 비교 :
    • return 구문은, 함수 내 마지막 지점에 사용할 수 있습니다.
    • return구문이 실행되면, 함수가 종료되며 동시에 해당 함수의 결과값이 호출한 위치에 할당됩니다.

매개변수와 인수 (참고)

1. 매개변수(parameter, 입력인자, 입력값)

함수에 전달된 값을 저장하는 변수 / 함수를 선언할 때 정의하는 변수 -> def plus(a): 에서 a를 매개변수

인수 / 인자 (argument)

함수를 호출(=사용)할 때 전달하는 입력 값 -> print(plus(15)) 에서 15를 인수, 인자라고 한다.

  • 예제
    - 매개변수를 2개 이상 받는 케이스
    - sum_func 라는 이름으로 함수를 선언해주세요.
    - 이 함수는 num1, num2 2개의 변수를 입력받고 둘을 합산한 값을 리턴합니다.

    2. 매개변수 있는 함수

  • 인자 값을 전달 할 때 값만 입력하면 순서대로 매개변수에 할당된다.

  • 매개변수명을 지정하여 전달할 수 있다.

  • 예제

    • 매개변수 3개인 함수를 설정해주세요.
    • 매개변수명 3개는 자율적으로 만들어주세요.
    • print()로 매개변수 3개가 뭐였는지 콘솔에 출력하세요.
    • result 변수에 3개 합을 저장한 뒤 리턴합니다.
    • 함수명은 test1 입니다.
  • 매개변수에 순서를 다르게 전달하고 싶다면 매개변수를 지목해 값을 대입한다.

  • 디폴트값 선언을 사용한 예시

  • 원한다면 일부 자료만 넣는 형식도 가능하다.
    (a=5, b=10, c=3의 의미 : 총합 18)

  • 하지만 디폴트 값 설정은 반드시 오른쪽 요소부터 지정해야 한다.

가변인자 리스트

  • 입력할 파라미터의 개수가 몇 개인지 모를 때 사용함
  • 파라미터명 왼쪽에 * 을 붙인다.
  • 가변인자를 활용하면 기존의 개별 추가 방식에 비해 효율이 높다.
    • 개별 추가 방식
    • 가변인자 활용 방식(가변인자 리스트 : 튜플 형식에 자료를 추가하는 방식이다.(마치 리스트에 append로 추가가 가능한 것 처럼))
  • 예제
    • 가변 파라미터(*변수명)을 이용해서 학생들의 점수를 입력받는대로 다 저장하고
    • 총점을 얻어서 평균값을 구해 리턴하라

1. 키워드 파라미터 kwargs (keyword arguments)

  • 딕셔너리 형태로 저장되는 매개변수로 정의
    • ** 두개가 붙으면 딕셔너리 형태로 가변인자를 받습니다.
    • 이 경우, 변수명 = 값 형식으로 호출해야 전달됩니다.

2. 함수의 결과 값

  • 함수의 결과 값은 항상 1개(중요 포인트)

  • 여러 개의 결과를 가질 수 있지만 하나의 튜플로 전달

▶ 기본 문법

  • return 키워드는 전달받은 결과들을 하나의 '튜플'로 묶어서 반환

  • 최종적으로 '하나의 변수'에 담을 수 있는 '하나의 값으로 처리된다.'

  • 결과를 개별 변수에 쪼개서 가져오기

  • 튜플 리턴 시 좌변에 튜플 내부요소 개수만큼 변수를 선언하면 따로따로 저장을 받는다.

  • 리스트 예제

    • 리스트로 입력받은 수들에 대해 양수만 필터링하여 반환해주는 함수를 작성해보세요.
    • 조건 1 : 입력값은 인자값으로 가변인자 리스트(*을 붙이는 문법의 명칭을 가변인자 리스트라고 한다.)를 전달
    • 조건 2 : 결과값은 양수로만 구성된 새로운 리스트
    • 내 답 :
    • 해답 :
profile
가즈아~

0개의 댓글