함수에는 입력 인자(argument)가 있을 수도 있고 없을 수도 있으며 반환값도 마찬가지이다. 호출하는 쪽에 반환값을 되돌려주기 위해선 return 이라는 키워드를 이용하여 그 뒤에 반환할 값을 써 주면 된다.
>>> def sayHi():… print('Hi.')>>>a = sayHi()Hi. |
여기에서는 반환값이 없는 함수의 결과값을 a변수에 저장하였는데 (일반적이지 않은 방법이긴 하지만) 오류를 발생하지 않는다. 이 경우 a라는 변수에 None 값이 저장된다.
>>> type(a) NoneType |
함수를 호출하는 쪽에서는 순서대로 값을 입력해야 한다.
>>> def mod(x,y):….. return x%y>> mod(3,2) # x에 3, y에 2가 전달된다. |
이 예는 x를 y로 나눈 나머지를 반환하는 함수인데 입력 인수는 순서대로 정의된 모든 변수에 주어야 한다. 다음과 같은 호출은 오류를 발생시킨다.
>>> mod()>>> mod(3)>>> mod(3,2,1) |
이와 같이 함수의 정의부에 변수명만 있는 인자를 일반 인자(standard argument)라고 하며, 호출하는 쪽에서는 반드시 순서와 개수를 맞추어서 넘겨주어야 한다.
반환 값이 두 개 이상일 경우에는 return 명령 뒤에 콤마(,)로 구분해야 한다.
>>> def cal(x,y): |
이 간단한 예제에서 cal() 함수는 두 수의 합과 차 두 개를 반환한다. 호출하는 쪽에서는 결과 값들의 튜플을 받게 된다. 다른 변수로 각각 받으려면 위와 같이 하면 된다.
>>> a, b = cal(33,44) |
a변수에는 합이, b변수에는 차가 저장됨을 알 수 있다.
'프로그래밍언어.Lib > 파이썬' 카테고리의 다른 글
파이썬 함수의 기본값 인자 (default parameter) (0) | 2015.05.27 |
---|---|
파이썬 함수의 가변 개수 인자 (0) | 2015.05.27 |
파이썬의 함수(function) 정의와 호출 (0) | 2015.05.27 |
파이썬의 continue 명령 (0) | 2015.05.27 |
파이썬의 while ~ else 반복문 (0) | 2015.05.27 |