함수 반환 값
위의 학습을 통해 함수를 종료하고 선택적으로 표현식을 호출자에게 반환하기 위해 return [표현식] 문이 사용된다는 것을 알 수 있습니다. 매개변수 값이 없는 return 문은 None을 반환합니다.
구체적인 예:
# -*- coding: UTF-8 -*- def sum(num1,num2): # 两数之和 if not (isinstance (num1,(int ,float)) and isinstance (num2,(int ,float))): raise TypeError('参数类型错误') return num1+num2 print(sum(1,2))
반환 결과:
3
이 예도 내장 함수 isinstance()를 통해 데이터 유형 검사를 수행하여 함수 호출 시 매개변수가 정수 유형인지 부동 소수점 유형인지 확인합니다. 매개변수 유형이 올바르지 않으면 그림과 같이 매개변수 유형이 잘못되었음을 나타내는 오류가 보고됩니다.
물론 함수는 여러 값을 반환할 수도 있습니다. 구체적인 예는 다음과 같습니다.
# -*- coding: UTF-8 -*- def division ( num1, num2 ): # 求商与余数 a = num1 % num2 b = (num1-a) / num2 return b , a num1 , num2 = division(9,4) tuple1 = division(9,4) print (num1,num2) print (tuple1)
출력 값:
2.0 1 (2.0, 1)
잘 관찰해보면 알 수 있는데, 첫 번째 출력 값으로 판단하면 여러 값이 반환되는데, 실제로는 튜플이 먼저 생성된 후 반환됩니다. 튜플은 쉼표를 사용하여 직접 생성할 수 있다는 점을 기억하세요. 예제의 ruturn을 보면 실제로 쉼표를 사용하여 튜플을 생성하는 것을 볼 수 있습니다.