오늘은 파이썬(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)에서 처리해서 값(정수, 문자열 등)을 반환할 수 있다.
# 예제 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를 사용할 수 있다.
# 예제 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
함수는 보통 입력받은 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 반환 값이며 반환 값을 주지 않으면 함수를 호출해도 출력되는 값은 없다.
# 예제 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 자료형에 대해 알아보자. 파이썬은 기본 자료형과 집합형 자료형을 가진다. 아래 내용은 위키백과를 토대로 여러 참고자료를 정리한 내용이다. 기본 자료형 없음(None) - NULL �
winding-roads.tistory.com
바로 tuple이다. 이 말인 즉, 리턴 값이 여러 개인 경우 각각의 값을 리턴하는 것이 아니라 tuple 하나를 리턴한다고 보면 된다.
오늘은 여기까지 함수에 대해 공부해 보았다.
다음 시간에는 리스트에 대해 좀 더 깊이 알아보도록 하자.
[python] 파이선 / 파이썬 리스트
오늘은 파이썬 리스트에 대해 알아보도록 하겠다. 이전 시간에 파이썬 자료형에 대해서는 한번 알아본 바가 있으니 참고하길 바란다. [python] 파이선 / 파이썬 자료형 오늘은 파이썬 Python 자료형�
winding-roads.tistory.com
[python] 파이선 / 파이썬 튜플 (0) | 2020.08.06 |
---|---|
[python] 파이선 / 파이썬 리스트 (0) | 2020.08.04 |
[python] 파이선 / 파이썬 조건문, 반복문 (0) | 2020.07.28 |
[python] 파이선 / 파이썬 연산자와 연산 우선순위 (0) | 2020.07.27 |
[python] 파이선 / 파이썬 코딩 방법 (0) | 2020.07.27 |