낚시왕강군

오늘은 파이썬(Python) 함수(function)에 대해 알아보자.

함수(function)는 정의된 작업을 수행하는 코드블럭으로 자주 사용되는 코드들을 함수로 만들어서 사용한다. 파이썬에서는 def 키워드를 이용하여 함수를 정의하며 아래와 같은 문법을 가진다. 

     

함수 만들기와 호출하기

#함수 만들기

def function_name (parameter) :

    # code

    return 리턴값

# 함수 호출하기

function_name (parameter) 

이렇게만 봐서는 함수에 대해 이해가 힘들다. 특히나 프로그래밍 지식이 없는 사람에게는 더 그렇다. 단어도 생소하고 이해도 쉽지 않기 때문인데 아래에서 다양한 예제를 통해 하나씩 이해해 보도록 하자.

 

함수의 사용

# 예제 1

>>> def func(a, b):   # 함수 func정의, parameter a, b
...         c = a * b         
...     return c           # c을 반환
...
>>> func(5, 3)         # 5*3의 결과를 반환
15
>>> func(3, 4)         # 3*4의 결과를 반환
12

# 예제 2

>>> def A(a, b):
...         c = a + b
...         print(a,"+" ,b,"=", c)
...
>>> A(3, 10)
3 + 10 = 13

▲ 위의 예제와 같이 입력받은 parameter를 내부블럭코드(#code)에서 처리해서 값(정수, 문자열 등)을 반환할 수 있다.

 

Parameter 에러

# 예제 3 - 에러 ( parameter의 수와 입력 수가 다름 )

>>> A(11)                            # def A(a, b)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: A() missing 1 required positional argument'b'
>>>

▲ 정의한 parameter 수와 함수 호출 시 입력한 parameter수가 다른 경우 에러가 발생한다.

 

가변 길이 parameter

parameter를 고정된 개수가 아니라 여러 개(가변) 받고 싶을 땐 가변 길이 parameter를 사용할 수 있다.

# 예제 4 - 가변길이 parameter

>>> def sum(*var):    # var로 여러 parameter를 받아서
...         total = 0
...         for i in var:        # var개수만큼 반복 수행
...             total = total + i
...     return total

>>> sum(1, 3)
4
>>> sum(1,2,3,4,5,6,7,8,9,10)
55

 

Named Parameter

함수는 보통 입력받은 parameter를 순서대로 전달한다. 하지만 paramater의 이름에 직접 값을 할당하여 기존 parameter순서와 관계없이 사용할 수 있는데 이를 Named Parameter이라 한다.

# 예제 5 - 매개 변수 Named Parameter

>>> def div(a, b):
...         c =  a / b
...     return c
...
>>> div(10, 2)
5.0
>>> div(b=10, a=2)
0.2
>>>

 

Return

마지막으로 return에 대해 살펴보자. 기본적으로 return은 값을 반환할 때 사용한다. 형식은 return 반환 값이며 반환 값을 주지 않으면 함수를 호출해도 출력되는 값은 없다.

# 예제 6 - return

>>> def a(a,b):
...         c = 0
...         c = a+b
...     return
...
>>> a(1, 2)
>>>

>>> def func(a, b):
...         c = a * b
...     return a, b, c
...
>>> func(3, 5)
(3, 5, 15)

▲ 눈썰미가 좋은 사람은 마지막 예제에서 한 가지 의문점이 들 것이다.

바로 결과값의 출력이 3, 5, 15가 아니라 (3, 5, 15)이다. 괄호 ( )를 사용하는 자료형이 있었다.

파이썬 Python 자료형

 

파이썬 Python 자료형

오늘은 파이썬 Python 자료형에 대해 알아보자. 파이썬은 기본 자료형과 집합형 자료형을 가진다. 아래 내용은 위키백과를 토대로 여러 참고자료를 정리한 내용이다. 기본 자료형 없음(None) - NULL �

winding-roads.tistory.com

바로 tuple이다. 이 말인 즉, 리턴 값이 여러 개인 경우 각각의 값을 리턴하는 것이 아니라 tuple 하나를 리턴한다고 보면 된다.

오늘은 여기까지 함수에 대해 공부해 보았다.

다음 시간에는 리스트에 대해 좀 더 깊이 알아보도록 하자.

[python] 파이선 / 파이썬 리스트

 

[python] 파이선 / 파이썬 리스트

오늘은 파이썬 리스트에 대해 알아보도록 하겠다. 이전 시간에 파이썬 자료형에 대해서는 한번 알아본 바가 있으니 참고하길 바란다. [python] 파이선 / 파이썬 자료형 오늘은 파이썬 Python 자료형�

winding-roads.tistory.com

 

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading