python判断是否为类的实例,是否为子类

首先定义两个类,一个父类,一个子类,这里并不定义类体内容,仅举例说明

class Parent:
    pass
 
class Son(Parent):
    pass

一、获取类实例的名称

格式: 实例名.__class__.__name__

>>> class Parent:
...     pass
...
>>> class Son(Parent):
...     pass
...
>>> par = Parent()
>>> par.__class__.__name__
'Parent'
>>> son = Son()
>>> son.__class__.__name__
'Son'
>>>

二、判断一个类是否是另外一个类的实例

使用函数:issubclass(), 如果是父类的子类,则返回布尔值 True
格式:issubclass(参数1, 参数2)

  • 参数1:子类的名字
  • 参数2:父类的名字
>>> class Parent:
...     pass
...
>>> class Son(Parent):
...     pass
...
>>> issubclass(Son, Parent)
True
>>> type(issubclass(Son, Parent))
<class 'bool'>

三、判断某个实例是否是指定类的实例

使用函数:isinstance()
格式:isinstance(参数1, 参数2)

  • 参数1:实例化的对象名
  • 参数2:类名
>>> class Parent:
...     pass
...
>>> class Son(Parent):
...     pass
...
>>> par = Parent()
>>> par.__class__.__name__
'Parent'
>>> son = Son()
>>> son.__class__.__name__
'Son'
>>> isinstance(par, Parent)
True
>>> isinstance(son, Son)
True
>>> isinstance(son, Parent)    # 子类实例化的对象,同样也是父类的实例化对象,这就是继承的灵动之处
True
>>> isinstance(par, Son)
False
>>>

从上面可以isinstance(son, Parent) 返回的也是True值,子类实例化的对象,同样也是父类的实例化对象,这就是继承的灵动之处,所以子类可以调用父类的所有方法和属性。

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述
♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值