issubclass()和isinstance()

一、issubclass()和isinstance()

1.1 issubclass()

判断第一个类是不是第二类的子类,返回true或者flase

# 判断第一个类是不是第二类的子类,返回true或者flase


class Foo:
    pass


class A:
    pass


class Bar(Foo,A):
    pass


class Tt(Bar):
    pass

print(A.__bases__)#(<class 'object'>,)
print(Bar.__bases__)  # (<class '__main__.Foo'>,),查看所有的父类,当继承一个类后,将不会显示object,以元组的形式表示:(<class '__main__.Foo'>,)
print(Bar.__base__)#<class '__main__.Foo'> 查看第一个父类
print(issubclass(Tt, object))  # True,object是所有类的祖宗
print(issubclass(Bar, Foo))  # True
print(issubclass(Tt, Foo))  # True
print(issubclass(Tt, A))  # True

1.2 isinstance()

判断第一个参数是不是第二个参数的对象,返回true或者flase

# 判断第一个参数是不是第二个参数的对象,返回true或者flase
#isinstance()
class Foo:
    pass


class Tt():
    pass


f = Foo()
print(isinstance(f, Foo))  # True

print(isinstance(f, Tt))  # False

转载于:https://www.cnblogs.com/SkyOceanchen/p/11454640.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值