신규 블로그를 만들었습니다!
지난글...
2018/01/05 - [Language/Python] - Python :: 반복문! while에 대해 알아보자 #8
2018/01/05 - [Language/Python] - Python :: 반복문! for문에 대해 알아보자 #9
이번에는 함수에 대해 알아보겠습니다.
함수를 나타내는 말로는 function , method 등이 있습니다.
파이썬에서 함수를 만들때는 def 라는 키워드를 사용 합니다.
(define의 def 를 따온 말입니다.)
형태는 아래와 같습니다.
def 함수명 (인자값) 수행할 문장...
|
함수는 4가지 형태로 나눠집니다.
입력값이 있고, 결과값도 있고...
입력값이 있고, 결과값이 없고...
입력값이 없고, 결과값이 있고...
입력값이 없고, 결과값도 없고..
예제를 살펴보겠습니다.
1. 입력값 o, 결과값 o
num1, num2 2개의 값을 입력으로 받아
(num1 + num2) 를 리턴하는 형태의 함수입니다.
결과값>>
4
2. 입력값 o, 결과값 x
# 반환값(결과값)이 없는 함수
def my_sub(num1, num2):
print(num1-num2)
my_sub(3,2)
위와 비슷하지만, 약간의 차이가 있습니다.
return 이 없고 함수내에서 바로 (num1 - num2) 값을 출력하는 형태 입니다.
결과값>>
1
3. 입력값 x, 결과값 o
# 인자값이 없는 함수
def my_msg():
return 'hello python'
msg = my_msg()
print(msg)
들어가는 인자값(입력값)이 없고, 결과값만 리턴하는 함수입니다.
결과값>>
hello python
4. 입력값 x, 결과값 x
# 인자값, 결과값 모두 없는 함수
from datetime import datetime
def my_date():
print('현재시간은', datetime.today(), '입니다')
my_date()
입력값, 결과값 모두 없는 함수 입니다.
from datetime import datetime와 datetime.today() 에 대해서는 추후에 알아보겠습니다. 현재 날짜와 시간을 알려주는 함수 입니다.
그냥 넘어가주시면 될거 같습니다.
결과값>>
현재시간은 2018-01-05 19:48:08.698106 입니다
입력값을 유동적으로 넣고 싶을때는 어떻게 하는지 알아보겠습니다.
형태는 아래와 같습니다.
def 함수명(*인자값) 수행할 문장...
|
* 를 이용하면 됩니다.
예제를 보겠습니다.
#여러개의 입력값이 존재 하는 경우
def my_sum(*nums):
sum = 0
for num in nums:
sum = sum + num
return sum
num1 = my_sum(1,3,6,4)
num2 = my_sum(1,2,3)
print(num1, num2)
위와 같이 하면 nums에 입력한 값들을 tuple 형태로 가져오기 때문에 반복문을 이용하는 등 값을 꺼내오시면 됩니다.
위의경우는
결과값 >>
14 6
마지막으로 결과값을 두개이상을 넣고 싶을때는 어떻게 하는지 알아보겠습니다.
그냥 return 에 쉼표를 이용하여 값을 넣어주면 됩니다.
하지만, 여기서 알아둬야 할 것이 있습니다. 보기엔 여러개의 값을 반환하는것처럼 보이지만
사실을 튜플(tuple) 형태로 값을 하나 반환 하는것과 같습니다.
예제를 살펴보겠습니다.
# 리턴값이 여러개 일때
def my_sum_mul(num1, num2):
return num1+num2, num1*num2
result = my_sum_mul(2,4)
print(result)
print(type(result))
type() 함수를 이용하여 결과값 자료형 타입을 살펴보면 tuple 이라는 것을 알 수 있습니다.
결과값 >>
(6, 8)
<class 'tuple'>
다음글...
2018/01/06 - [Language/Python] - Python :: 파일 입출력(file IO), 읽고쓰기에 대해서 알아보자#11
'지난글...(안쓰는 글)' 카테고리의 다른 글
Python :: 반복문! for문에 대해 알아보자 #9 (0) | 2018.01.05 |
---|---|
Python :: 반복문! while에 대해 알아보자 #8 (0) | 2018.01.05 |
Python :: if문에 대해 알아보자 #7 (0) | 2018.01.05 |
Python :: 집합(set)에 대해 알아보자 #6 (0) | 2018.01.04 |
Python :: 딕셔너리(Dictionary)에 대해 알아보자 #5 (0) | 2018.01.04 |
최근댓글