본문 바로가기

코딩/파이썬

5분 파이썬(9) - 함수

반응형

여기까지 오셨군요.

이제부턴 파이썬 심화 문법을 배워보겠습니다.

 

함수는 마법의 상자라고 생각하시면 이해하기 편합니다.

이 마법의 상자에 데이터를 집어넣으면 함수를 구성하는 코드가 데이터를 가공해줍니다.

그리고 결과물을 보여줘요.

 

직접 한번 만들어볼까요?

def 함수명(매개변수):
  실행할 코드

함수의 기본 구조입니다.

def 키워드 뒤에 함수명과 매개변수를 넣고, 들여쓰기된 공간에 실행할 코드를 입력하면 됩니다.

아, 콜론(:)도 빼먹으면 안되겠죠?

 

참고로 저기 있는 매개변수(파라미터)는 외부 데이터를 함수에 넣을때 사용하는 통로입니다.

매개변수에 값을 할당하면 그 값을 함수 안에서 사용할 수 있는 것입니다.

 

간단한 예제를 살펴볼까요?

def 덧셈(a, b):
  return a+b

print(덧셈(1,2))

이 예제에서는 '덧셈'이라는 함수를 만들어주었습니다.

매개변수는 a, b 2개를 사용해주었네요.

그리고 return 이라는 키워드가 보입니다.

return은 함수 실행 후, 함수가 실행된 자리에 데이터를 남겨주는 키워드입니다.

 

print함수안에서 '덧셈' 함수를 실행하고, 매개변수로 1,2를 주었습니다.

매개변수는 함수 안 return 키워드 뒤에서 덧셈 연산을 거치며, 결과값을 '덧셈'함수가 실행된 자리에 남겨줍니다.

결과적으로 위 코드는 아래 코드와 같습니다.

print(1+2)

 

함수를 실행할때, return 키워드 없이도 값을 출력할 수 있습니다.

def 덧셈(a, b):
  print(a+b)

덧셈(1,2)

이렇게 코드를 작성하면 함수를 실행할때, 함수 안에 있는 print 함수가 실행됩니다.

그래서 return을 통해 데이터를 빼내지 않고도 데이터를 출력할 수 있습니다.

 

print 함수를 이용해서 결과값을 직접 출력하는 것과, return 함수를 이용해서 결과값을 간접적으로 출력하는 것은 비슷해보이지만 꽤 큰 차이가 있습니다.

 

print 함수를 이용해서 직접 데이터를 출력하면 결과값을 다른 코드에서는 사용할 수 없고, 단순 출력만 가능합니다.

하지만 return 키워드를 사용하면 함수의 결과값을 다른 코드에서도 사용할 수 있습니다.

def 덧셈(a, b):
  return a+b

변수 = 0
변수 += 덧셈(1,2)
print(변수)

위 코드에서는 return 받은 결과값을 변수에 더한 뒤 출력해주었습니다.

함수에서 직접 print함수를 사용한다면 변수에 결과값을 더해주는 코드는 사용할 수 없었겠죠?

 

자 변수를 봤더니 이런 코드도 작성하고 싶어집니다.

def 덧셈():
  출력값 = 2+3

덧셈()
print(출력값)

 

함수 안에서 변수를 사용하고, 그 변수를 함수 밖에서 print해주는 코드입니다.

하지만 이 코드는 실행이 불가능한 코드입니다.

 

왜냐하면 함수 안에서 선언된 변수는 함수 밖에서 사용할 수 없기 때문입니다.

마찬가지로 함수 밖에서 선언된 변수도 함수 안에서 사용할 수 없지만, 해결방법이 한가지 있습니다.

출력값 = 0

def 덧셈():
    global 출력값
    출력값 = 2+3

덧셈()
print(출력값)

함수밖에서 선언한 변수를 함수 안에서 사용하려면 global 키워드를 사용하여야 합니다.

 

또다른 방법이 있는데 이것도 보시죠.

출력값 = 0

def 덧셈(cal):
    cal = cal+2
    return cal

출력값 = 덧셈(출력값)
print(출력값)

함수 밖에서 변수를 선언하고, 함수의 실행 결과값을 return 받아서 변수에 할당해주었습니다.

 

여기까지의 내용은 아래 유튜브 링크를 통해서 영상으로 보실 수 있습니다.

https://youtu.be/NxVC4qS9Pl0

 

반응형