我常用的python函数(part1)--内置函数isinstance

学习记录,仅供参考,有错必纠



语法


isinstance(object, classinfo)
#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() 会认为子类是一种父类类型,考虑继承关系。

原创文章 323 获赞 609 访问量 13万+

猜你喜欢

转载自blog.csdn.net/m0_37422217/article/details/106142878