인수의 타입을 검증하는 데에는 내장 함수 isinstance를 사용할 수 있다. 타입을 검증하면서 인수의 정수 여부도 확인할 수 있다.
def factorial (n):
if not isinstance(n, int):
print('Factorial is only defined for integers.')
return None
elif n < 0:
print('Factorial is not defined for negative integers.')
return None
elif n == 0:
return 1
else:
return n * factorial(n-1)