프로그래밍/Python

[Python] 사용자 정의 함수(def)

슬기나무 2021. 5. 30. 22:20
반응형

이번 포스팅에서는 파이썬에서 사용자 정의 함수에 대해 알아보겠습니다.

 

 사용자 정의 함수 - def

파이썬에서는 print(), len() 등과 같이 기본적으로 제공하는 함수도 있지만

 

유저가 직접 필요한 함수를 만들어 쓸 수도 있습니다.

 

아래와 같이 hello라는 이름의 함수를 정의해봅시다.

def hello():
    print("hello!")
    print("hello!!")

hello()

 

첫번째 줄은 hello()라는 이름의 함수를 정의하는 문장이고,

 

그 아래의 코드는 함수의 본문입니다.

 

그리고 정의된 함수 아래에 hello()는 정의된 함수를 호출하는 문구입니다.

 

함수의 실행 결과는 아래와 같습니다.

hello() 함수 실행 결과

 

 매개변수를 사용한 def 함수

위에서는 매개변수를 사용하지 않고 함수를 호출하였지만,

 

함수 정의 시 매개변수를 활용하면 괄호안에 원하는 매개변수를 집어넣어서

 

함수를 호출할 수도 있습니다.

 

예를 들면 아래와 같이 def 함수를 정의한다고 하면

def hello(name):
    print("hello " + name)

hello("mina")

위 함수의 실행 결과는 아래와 같습니다.

 

hello("mina") 함수 실행 결과

 

여기서 매개변수는 hello와 더할 수 있는 string이어야 하므로 따옴표""를 붙였습니다.

 

 def 함수의 반환값 설정

또한 def 함수를 정의할 경우 사용자가 원하는 반환값을 입력할 수도 있습니다.

 

이때는 return문을 활용합니다.

 

예를 들어 아래와 같이 1~5까지의 랜덤한 정수를 받아 출력하는 함수를 정의헀을 때

def getNumber(Number):
    if Number == 1:
        return 'A'
    if Number == 2:
        return 'B'
    if Number == 3:
        return 'C'
    if Number == 4:
        return 'D'
    if Number == 5:
        return 'E'

r = random.randint(1,5)
print(getNumber(r))

실행한 결과는 아래와 같습니다.

getNumber(r) 함수의 실행 결과

입력값이 1~5까지의 랜덤한 정수이기 때문에

 

실행할 때 마다 A에서 E까지의 임의의 알파벳이 출력되게 됩니다.

 

 

여기까지 def 함수를 정의하는 방법과

 

매개변수 및 반환값을 사용하는 방법에 대해 알아보았습니다.

반응형