学习记录,仅供参考,有错必纠 语法 isinstance ( object , classinfo ) #object: 实例对象 #classinfo:可以是直接或间接类名、基本类型或者由它们组成的元组 实例 利用递归函数,计算n的阶乘,
学习记录,仅供参考,有错必纠
语法
#object: 实例对象
#classinfo:可以是直接或间接类名、基本类型或者由它们组成的元组
实例
利用递归函数,计算n的阶乘,并处理实参为非整数和负数的情形。
# -*- coding: utf-8 -*-def factorial(n):
if not isinstance(n, int):
print('不是整数')
return None
elif n < 0:
print('不是正数')
return None
elif n == 0:
return 1
else:
return n*factorial(n-1)
factorial(1.2)
factorial(-2)
print(factorial(5))
控制台输出:
不是整数不是正数
120
isinstance()与type()区别
type() 不会认为子类是一种父类类型,不考虑继承关系。
isinstance() 会认为子类是一种父类类型,考虑继承关系。