我常用的Python内置函数是isinstance函数吗?

2026-06-10 22:061阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计304个文字,预计阅读时间需要2分钟。

我常用的Python内置函数是isinstance函数吗?

学习笔记,仅供参考,有误必纠。语法:isinstance(object, classinfo)

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



语法



isinstance(object, classinfo)
#object: 实例对象
#classinfo:可以是直接或间接类名、基本类型或者由它们组成的元组



我常用的Python内置函数是isinstance函数吗?

实例



利用递归函数,计算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()​​ 会认为子类是一种父类类型,考虑继承关系。


本文共计304个文字,预计阅读时间需要2分钟。

我常用的Python内置函数是isinstance函数吗?

学习笔记,仅供参考,有误必纠。语法:isinstance(object, classinfo)

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



语法



isinstance(object, classinfo)
#object: 实例对象
#classinfo:可以是直接或间接类名、基本类型或者由它们组成的元组



我常用的Python内置函数是isinstance函数吗?

实例



利用递归函数,计算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()​​ 会认为子类是一种父类类型,考虑继承关系。