python

[python] 파이썬 함수 / 함수의 매개변수 / 리턴문

테토 2022. 7. 11. 23:38
반응형

 

 

 

파이썬에서 함수 사용하는 방법을 정리해보겠습니다.

함수를 사용하면 같은 코드를 여러번 반복해야할 때 편하게 사용할 수 있습니다.

 

함수는 프로그램을 실행했을 때 바로 실행되는 부분은 아닙니다. 정의된 함수를 호출해야 함수 안에 있는 내용이 사용이 됩니다.

저희가 이전에 많이 사용했었던 것들은 파이썬에 기본적으로 내장되어 있는 함수로 내용이 이미 정해져 있는 함수이고, 프로그래밍을 할 때 새로 함수를 정의해서 사용할 수 있는 것입니다. 

 

 

 

함수 만들기

 

## 함수 정의 ##
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가지의 함수가 모두 같은 결과지만 쓰는 방법이 다른 것을 확인했습니다.

앞으로 응용하다보면 더 쓰기 편한 방법을 적용할 수 있게 될겁니다!

 

 

 

 

반응형