반응형
함수(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)을 설정해두면 에러를 줄일 수 있다.
호출 절차
반응형