builtin-isinstance-example.py

# -*- coding: utf-8 -*-

# @File    : builtin-isinstance-example.py
# @Date    : 2018-09-20
# @Author  : Peng Shiyu

# 用isinstance 函数,检查一个对象是不是给定类(或其子类)的实例

class A(object):
    pass

class B(A):
    pass

a = A()
b = B()

# 判断类型
print(type(A))
print(type(B))
print(type(a))
print(type(b))
"""
<type 'type'>
<type 'type'>
<class '__main__.A'>
<class '__main__.A'>
"""

# 判断实例
print(isinstance(a, A))
print(isinstance(b, A))
print(isinstance(b, B))
print(isinstance(A, type))
"""
True
True
True
True
"""

# issubclass 函数 检查一个类对象是否与给定类相同,或者是给定类的子类

print(issubclass(A, A))
print(issubclass(A, B))
print(issubclass(B, A))
"""
True
False
True
"""