python中isinstance()用法

isinstance()用来判断一个对象是否是一个已知的类型,isinstance()函数的语法如下:

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

isinstance()函数的返回值是布尔型,若object的类型是classtype,那么就返回True,否则返回False。

示例代码1:

a = 'hello'
print(isinstance(a,str))

打印结果:

True

示例代码2:

b =[ 'hello bruce']
if isintance(b,str):
    print('我是bruce')
elif isinstance(b,list):
    print('我不是bruce')
else:
    print('我啥都不是!')

打印结果:

我不是bruce

示例代码3:

以元组形式:

a = 'str'
b = {'name':'bruce'}

ret1 = isinstance(a,(str,list,int))
print(ret1)

ret2 = isinstance(b,(str,list,int))
print(ret2)

打印结果:

True

False

示例代码4:

复制代码
class A(object):
    pass

class B(A):
    pass


a = A()
ret1 = isinstance(a,A)
print(ret1)  #  True
print(type(a) == A)  # True


b = B()
ret2 = isinstance(b,A)
print(ret2) #  True
print(type(b) == A) #  False
复制代码

综上,注意:

1
2
3
4
5
isinstance() 与 type() 区别:
 
type() 不会认为子类是一种父类类型,不考虑继承关系。
isinstance() 会认为子类是一种父类类型,考虑继承关系。
如果要判断两个类型是否相同推荐使用 isinstance()。

  

 

posted on   一先生94  阅读(270)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示