28. 파이썬 입출력값에 따른 함수의 형태 – 두번째 시간

  • 네이버 블로그 공유하기
  • 카카오톡 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기

지난 포스팅에 파이썬 입출력값에 따른 함수의 형태에서 일반적인 함수와 입력값이 없는 함수에 대해 공부했었습니다.

이번 포스팅에서는 파이썬 입출력값에 따른 함수의 형태 – 두번째 시간으로 리턴값이 없는 함수와 입력값도 리턴값도 없는 함수, 그리고 매개변수 지정하여 호출하기 에 대해 공부해 보겟습니다.

파이썬 입출력값에 따른 함수의 형태

리턴값이 없는 함수

리턴값이 없는 함수 예

Python
>>> def mmm(a, b):
...     print("%d, %d 의 차는 %d 입니다." % (a, b, a-b))
...
>>>

위 처럼 mmm 이라는 함수를 먼저 만들고 함수를 실행시켜 보겠습니다.

Python
>>> mmm(5, 7)
5, 7 의 차는 -2 입니다.

위의 코드 예처럼 리턴값이 없는 함수의 형식은 아래와 같습니다.

함수이름(입력인수 1, 입력인수 2, …)

리턴값이 없는 함수 확인

리턴값이 진짜 있는지 없는지 확인하려면 다음과 같이 해보면 됩니다.

Python
>>> a = mmm(5, 7)
5, 7 의 차는 -2 입니다.

여기서 처음에 헷갈렸던게 ‘5, 7 의 차는 -2 입니다.’ 라는 문장을 출력을 해주었는데 리턴값이 없다는게 이상합니다.
이 부분은 이렇게 보시면 됩니다.
print 문은 함수의 구성요소의 하나인 ‘수행할 문장’에 해당하는 부분이라고 보시면 됩니다.
리턴값은 당연히 없습니다.
리턴값 이라는 건 return 명령으로만 돌려받을 수 있습니다.
이 부분을 확인해 보기 위해 예를 들어보겠습니다.

Python
>>> a = mmm(5, 7)
5, 7 의 차는 -2 입니다.
>>> print(a)
None

위 코드를 보면 a 를 print 로 출력을 해보면 None 이라는 결과가 나옵니다.
None 이라는 건 거짓을 나타내는 자료형이라고 예전에 공부했었죠
mmm 함수 처럼 리턴값이 없을 때 a = mmm(5, 7) 처럼 사용하면 mmm 함수는 리턴값으로 a 변수에 None 을 리턴하게 됩니다.
None 값을 리턴했다는 것은 리턴값이 없다는 의미 입니다.

입력값도 리턴값도 없는 함수

입력값이 없는 함수, 리턴값이 없는 함수에 이어 이번엔 입력값도 리턴값도 없는 함수에 대해 공부해 보겠습니다.

입력값도 리턴값도 없는 함수의 예

Python
>>> def say():
...     print('Hello')
...
>>>

위 코드를 보면 입력 인수를 받는 매개변수도 없고, return 문도 없습니다.
이런 함수를 입력값도 리턴값도 없는 함수라고 보시면 됩니다.
이렇게 입력값도 없고 리턴값도 없는 함수를 사용하는 방법은 한가지 뿐입니다.

Python
>>> say()
Hello

이렇게 입력값도 리턴값도 없는 함수의 형식은 아래와 같습니다

함수이름()

매개변수 지정하여 호출하기

함수를 호출할 때 매개변수를 지정할 수도 있습니다.

Python
>>> def mmm(a, b):
...     return a - b
...

a, b 두 개의 숫자를 입력받아서 먼저 입력된 a 에서 두번째 입력된 b 를 빼서 리턴하는 mmm 이라는 함수 입니다.
이 함수를 매개변수를 지정하여 사용하는 방법입니다.

Python
>>> result = mmm(a=5, b=7) # a 에 숫자 5, b 에 숫자 7 을 대입
>>> print(result)
-2

매개변수 지정하여 호출하기의 장점

Python
>>> result = mmm(b=7, a=5) # b 에 숫자 7, a 에 숫자 5 를 대입
>>> print(result)
-2

위 코드를 보면 이전 코드와 다르게 순서를 바꿨습니다.
이처럼 매개변수를 지정하여 호출하게 되면 순서에 상관없이 사용할 수 있다는 장점이 있습니다.

  • 이 포스팅은 ‘위키독스’ 의 ‘점프 투 파이썬‘ 전자책을 구매하여 독학하기 위한 자료로 작성했습니다.
28. 파이썬 입출력값에 따른 함수의 형태 – 두번째 시간

Leave a Comment