파이썬에서 함수 사용하는 방법을 정리해보겠습니다.
함수를 사용하면 같은 코드를 여러번 반복해야할 때 편하게 사용할 수 있습니다.
함수는 프로그램을 실행했을 때 바로 실행되는 부분은 아닙니다. 정의된 함수를 호출해야 함수 안에 있는 내용이 사용이 됩니다.
저희가 이전에 많이 사용했었던 것들은 파이썬에 기본적으로 내장되어 있는 함수로 내용이 이미 정해져 있는 함수이고, 프로그래밍을 할 때 새로 함수를 정의해서 사용할 수 있는 것입니다.
함수 만들기
## 함수 정의 ##
def 함수이름(매개변수):
함수내용
## 함수 사용 ##
함수이름(매개변수)
함수를 만드는 기본적인 방법입니다.
예시를 많이 보고 많이 사용해보셔야 익숙해질 수 있습니다.
def도 if 나 for 과 같이 들여쓰기가 중요합니다.
함수의 매개변수
함수는 같은 내용이라도 다양하게 만들 수 있습니다.
매개변수를 입력받거나, 받지 않는 경우에 대해 한 번 살펴보겠습니다.
# 매개변수없는 함수
def odd_judge():
num = int(input("숫자를 입력: "))
if num%2 == 0:
print("짝수")
return
print("홀수")
## 실행되는 부분 (main part)
odd_judge()
## 결과 ##
숫자를 입력: 10
짝수
==============
숫자를 입력: 15
홀수
매개변수가 없이 정의된 함수입니다.
def odd_judge 안의 내용을 보면 숫자를 입력받는 내용부터 모두 함수 안에 정의되어 있습니다.
그래서 함수 정의 밖에서 odd_judge를 실행했을 때, 입력받는 부분부터 실행되어 짝수인지 홀수인지 바로 판별하고 출력하는 것을 볼 수 있습니다.
#매개변수 있음
def odd_judge1(num):
if num%2 == 0:
print("짝수")
return
print("홀수")
inputnum = int(input("숫자를 입력: "))
odd_judge1(inputnum)
## 결과 ##
숫자를 입력: 10
짝수
=============
숫자를 입력: 15
홀수
매개변수가 있는 함수입니다
매개변수란 함수() 에서 괄호에 들어가는 내용입니다.
함수를 정의할 때 이 매개변수가 어떻게 쓰이는지 함수의 내용에 포함하고 있습니다.
입력을 함수 내에서가 아닌 함수 밖에서 받았기 때문에 이를 매개변수로 전달하여야 합니다.
그 이유는 함수 내에서 사용되는 변수는 지역변수이기때문입니다.
함수 밖의 변수를 그대로 함수 내에서 사용하거나, 그 반대의 경우에도 같은 변수가 아니게 됩니다.
def 함수():
num = 10 # 지역변수: 함수 내에서만 유효함
num = 1
함수()
print(num)
## 결과 ##
1
위와 같이 num에 1을 대입한 후에 함수를 이용해 num에 10을 대입해도 num은 1이라는 값을 가지고 있습니다.
따라서 이 지역변수의 값을 가져오기 위해서 위의 odd_judge1() 함수처럼 함수내에서 프린트를 할 수도 있고 return문을 이용해 값을 반환할 수도 있습니다.
같은 함수를 return을 사용해서 정의해보겠습니다.
#매개변수 없고 반환있음
def odd_judge2():
num = int(input("숫자를 입력: "))
if num%2 == 0:
return "짝수"
return "홀수"
print(odd_judge2())
##a = odd_judge2()
##print(a) # 같은 결과
## 결과 ##
숫자를 입력: 10
짝수
=============
숫자를 입력: 15
홀수
return에 대해 조금 더 설명해보자면 odd_judge2() 함수에서 짝수가 리턴된다면 odd_judge2() 가 짝수와 같다고 생각할 수 있습니다. 그래서 print(odd_judge2())가 print("짝수")와 같은 결과를 가지게 되는 것입니다.
그렇기 때문에 a에 대입하여 출력하더라도 같은 결과를 갖게 됩니다.
#매개변수있고 반환있음
def judge(num):
if num%2 == 0:
return "짝수"
return "홀수"
inputnum = int(input("숫자를 입력: "))
print(judge(inputnum))
## 결과 ##
숫자를 입력: 10
짝수
=============
숫자를 입력: 15
홀수
매개변수가 있고 반환값도 있는 함수입니다.
이번에는 함수의 기본적인 활용에 대해 알아봤습니다.
오늘 만든 4가지의 함수가 모두 같은 결과지만 쓰는 방법이 다른 것을 확인했습니다.
앞으로 응용하다보면 더 쓰기 편한 방법을 적용할 수 있게 될겁니다!
'python' 카테고리의 다른 글
[python] 파이썬 딕셔너리란? / 딕셔너리 생성 / 수정 / 삭제 (0) | 2022.08.01 |
---|---|
[python] 리스트에서 랜덤 라이브러리 활용 (0) | 2022.07.12 |
[python] 파이썬 리스트 요소 삭제 / 리스트 탐색 / 리스트 정렬 (0) | 2022.07.11 |
[python] 파이썬 리스트 / 리스트 생성 / 리스트 요소 추가 (2) | 2022.07.11 |