Programming/PYTHON

[Python] 함수

tnddj1219 2022. 2. 9. 10:01
728x90

함수란?
어떤 작업을 수행하는 코드를 모아 이름을 붙인것이다.

 

함수 사용 이유
1) 프로그래밍을 하다 보면 똑같은 내용을 반복해서 작성하는 경우가 있다. (재사용성)
2) 자신이 만든 프로그램을 함수화해서 알아보기 쉽게 정리 & 프로그램 흐름을 잘 파악할 수 있다. (간결성)

 

함수 기본적인 구조

파이썬은 함수를 정의할 때 def 문을 사용한다. (def: define 정의하다를 줄인 표현)

매개변수: 함수를 사용을 위해 입력으로 전달되는 값을 받는 변수

└인수: 함수를 호출할때 전달하는 입력값

실행구문: 함수를 실행하면 수행할 문장

반환 값: 함수 실행 후 결과값을 돌려주는 명령어

 

함수 기본적인 구조

## 예시1 - add 함수 만들고 출력하기
def add(a,b):
   return a+b
print(add(3,4)) # 3,4는 인수 -> 7출력
print(add(b=4,a=3)) # 매개변수 지정하여 호출 가능


## 예시2 - a,b값을 더한 결과를 출력하기(반환값 x)
def print_add(a,b):
   print(a+b)
print_add(3,4) # add1 함수를 통해 7 출력

## 예시3 - hi 출력하는 함수 만들기(매개변수, 반환값 x)
def say_hi():
   print("Hi!")
say_hi()

예시1에서 add 함수는 매개변수 a,b 더하는 함수고 두 수의 합(a+b)를 결과로 반환하는 함수이다. 따라서 3,4를 매개변수로 넣으면 add 함수를 통해 7을 반환받게 된다. 매개변수에 값을 지정하여 사용할 수 있다.

예시2에서 print_add 함수는 매개변수 a,b로 더한 결과를 출력하는 함수이다. 반환하는 값은 없다. 따라서 3,4를 매개변수로 놓으면 print_add 함수를 통해 두 수의 합이 출력이 된다.

예시3에서 say_hi 함수는 "Hi!"를 출력하는 함수이다. 이 함수 같은 경우는 매개변수와 반환값 모두 없다. 따라서 실행하면 "Hi!"를 출력하고 종료하게된다.

 

입력값이 몇 개가 될지 모를 때

입력 값이 몇 개인지 모를 때는 포인터를 활용하여서 매개변수를 넘기면 된다. (* 매개변수)

## 예시4 add_many_num 함수 만들기 (* 매개변수 사용)
def add_many_num(*args):
   result=0
   for i in args:
      result+=i
   return result
print(add_many_num(1,2,3,4,5,6)) # 1~6까지의 합이 출력된다.
print(add_many_num(1,2,3)) # 1~3까지의 합이 출력된다.

 

매개변수 초기값 설정하기

매개변수의 초기값을 설정할 수 있다. 초기값이란 매개변수 값이 입력되지 않았을 때 설정한 값이 자동으로 입력되는 것을 말한다.

## 예제5 - 이름 출력하기 (매개변수 초기 설정)
def print_name(name="Seung"):
   print("내 이름은 {0}입니다.".format(name))
print_name("가나다") # "내 이름은 가나다입니다." 출력
print_name() # 매개변수에 값이 없음 -> "내 이름은 Seung입니다." 출력

 

 

[출처] 점프 투 파이썬

728x90