01.  함수의 정의

  • 파이썬 내에서 특정 기능을 수행하도록 미리 만들어 놓은 프로그램

 

02.  함수의 필요성

  • 함수를 사용하면 코드가 중복되는 것을 막을 수 있고 반복되는 코드의 길이를 줄여 줄 수 있기에 보다 가독성이 높은 코드를 짤 수 있다. ( 가독성이 높아지면 추 후 오류나 수정등의 이슈가 발생해도 빠르게 처리가 가능하다 )
  • 한 번만 함수를 만들어 높으면 매번 똑같은 코드를 작성하지 않아도 언제든 필요할 때 마다 해당 기능을 불러와 쓸 수 있어서 굉장히 편하며, 한 번 작성된 함수는 여러번 재 사용이 가능하다.
  • 복잡한 일처리를 기본적인 일들의 집합 ( 모듈, 기능, 부품) 으로 간단하고 체계적이게 정리가 가능하기에 개발 과정이 보다 쉬워진다.

 

03.  함수의 구조

def 함수이름():
	실행할 문장
  • 함수는 무조건 실행 되지 않는다. 호출을 해야 실행이 되는 부분이며, 한 번 만들어 놓으면 언제든 필요할 때마다 불러다 사용 할 수 있다.
  • 함수를 호출 한다는 것은 함수가 저장된 부분으로 이동하여 함수 안의 문장들을 실행하고, 끝나면 다시 원래 호출 위치로 복귀 하는 것을 의미한다.

 

▸ 특정 텍스트를 출력하는 함수 생성 예제

def hi():
	print ("안녕하세요")
    
hi()
---
# 출력 : 안녕하세요
  • 함수를 호출하면서 값을 전달 하는 것이 가능하며, 전달 하는 값을 인수, 전달 받는 변수를 매개변수라고 한다.
    # 실인수, 형식인수, 실매개변수, 형식매개변수 등 여러가지 형태로 부른다.

 

▸ 두 수의 합을 구하는 함수 생성 예제

def add(in1, in2):
    sum = in1 + in2
    print("두수의 합은 %s입니다." % sum)

add(3, 5)
---
#출력 : 두수의 합은 8입니다.
  • 함수 입장에서 전달 받은 값을 저장해 놓지 않으면, 필요할 때 마다 가져다 사용 할 수 없기에 메모리 공간 내에 저장이 필요하다. ( 저장 할 수 있는 메모리 공간 즉, 변수가 필요하다. )

 

▸ 사용자에게 반지름을 입력받아 원의 둘레를 계산하는 함수 생성 예제

def func1(r):
 	result=2*3.14*r
 	print("원의 둘레는 %s입니다." %result)
    
 in1=int(input("원의 반지름을 입력하세요: "))
 
 func1(in1)
 ---
 #출력 : 원의 반지름을 입력하세요: 50 원의 둘레는 314.0입니다.
  • 위의 코드에서 함수 안에서 처음 만들어진 변수 rresult 지역 변수라 칭하고, 함수 밖에서 만들어진 변수 in1전역 변수라고 한다.
    # 지역변수 : 함수 안에서만 사용 가능, 지역 변수는 스택에 저장되므로 함수 실행이 끝나면 종료.
    # 전역변수 : 만들어진 후 어디에서나 사용 할 수 있다.

보다 자세하게 설명하면 다음과 같다.