Python - 함수(Function) - 개념, 사용 방법, 호출(call), 값 반환(return)

반응형

함수(Function)란?

  • 입력 값으로 어떤 일을 수행한 뒤 결과 값을 출력하는 것
    • 예시 입력 x = 1, 2, 3 / 실행 곱하기 2 / y = 출력 2, 4, 6 / 함수 y = 2x
  • 자주 사용하는 반복된 코드를 일반화하여 함수로 사용


장점


사용시 주의사항

  • 식별자의 규칙을 지켜야 함 (특수문자, 공백, 대소문자 구분)
  • 제어문과 마찬가지로 콜론과 들여쓰기를 꼭 해야함

기본 형식


정의하고 호출하기

  • 매개변수(Parameter)가 없을 경우
# 함수 정의하기
def hello():
	print("안녕하세요")

# 함수 호출하기
hello()
>>> 안녕하세요

 

  • 매개변수(Parameter)가 있을 경우
    • 함수를 호출 할 때 매개변수를 입력
    • 매개변수의 자료형은 호출되는 순간 전달되는 객체에 따라 동적 결정
    • 주의!!! 함수 호출시 매개변수를 입력하지 않으면 오류 출력
# 함수에 두 값을 넣어 합 출력하기
# 함수 정의하기
def add(a, b):
	print(a+b)

# 함수 매개변수를 넣어 호출하기
add(1, 2)
>>> 3

# 매개변수를 넣지 않으면 에러 출력
add()
>>> error

호출하고 반환하기

  • 함수 실행 종료시 함수 호출 지점으로 값을 반환
  • 리턴(return) 뒤에 반환 할 값(또는 변수) 기재
# 두 수의 합을 구하고 값 반환하기
def add(a, b) :
	return a + b
# 반환 값(return)에 a와 b의 값 반환

x = add(1, 2) # 함수 호출 및 리턴 값 반환
# a=1, b=2, return 1+2 = 3 

print(x)
>>> 3

 

  • 리턴 값이 두 개 이상이면 반환 값은 튜플로 반환
    • 필요에 따라 반환 값의 데이터 타입을 정할 수 있음
# 두 수의 합을 구하고 총합, a값, b값 반환
def add(a, b):
    result = a + b
    return result, a, b
    # 리턴 값 3개 반환

add(1, 2)
>>> (3, 1, 2)
# 총 합, a값, b값
# 리턴 값이 두개 이상이면 튜플로 반환


# 두 수의 합을 구하고 총 합을 리스트로 반환
def add_list(a, b):
    result = a + b
    return [result]
    # 리턴에 리스트로 값 반환

add_list(1, 2)
>>> [3]
# 리턴 값의 데이터 타입을 변경

매개변수의 기본 값 설정 (Default parameter)

  • 함수의 지정 된 매개변수가 입력되지 않으면 에러 출력
  • 매개변수의 기본 값을 설정하여 미입력시 오류를 줄일 수 있음
  • 매개변수의 기본 값을 설정하지 않은 경우
# 매개변수 2개를 받아 자기소개
def insa(name, age):
    print(f"안녕하세요. 저는 {name}입니다. 제 나이는 {age}입니다.")

insa("홍길동", 25)
>>> 안녕하세요. 저는 홍길동입니다. 제 나이는 25입니다.
# 매개변수 입력시 정상 출력

insa()
>>> error
# 매개변수 미입력시 에러 출력

 

  • 매개변수의 기본 값을 설정한 경우
# 매개변수의 기본 값(초기 값) 설정하기
def insa(name="김철수", age=30):
    print(f"안녕하세요. 저는 {name}입니다. 제 나이는 {age}입니다.")
    
insa()
>>> 안녕하세요. 저는 김철수입니다. 제 나이는 30입니다.
# 매개변수를 입력하지 않아도 기본으로 설정되어 있는 값으로 출력
# 기본 값(Default parameter)을 설정해두면 에러를 줄일 수 있다.

호출 절차

반응형