Python子类判断issubclass和实例判断isinstance

简介: Python子类判断issubclass和实例判断isinstance

1、继承关系

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


class Animal(object):
    pass


class Cat(Animal):
    pass


class Dog(Animal):
    pass


cat = Cat()

2、子类判断

issubclass(x, A_tuple)

print(issubclass(Cat, Animal))  # True

print(issubclass(Cat, Dog)) # False

# 两种方式等价
print(issubclass(Cat, (Animal, Dog))) # True
print(issubclass(Cat, Animal) or issubclass(Cat, Dog)) # True

3、实例判断

isinstance(x, A_tuple)

print(isinstance(cat, Animal))  # True
print(isinstance(cat, Cat)) # True
print(isinstance(cat, Dog)) # False

# 两种方式等价
print(isinstance(cat, (Cat, Dog))) # True
print(isinstance(cat, Cat) or isinstance(cat, Dog)) # True

4、获取类的子类

# -- coding: utf-8 --


class A(object):
pass


class B(A):
pass


class C(A):
pass


for clazz in A.__subclasses__():
print(clazz.__name__)
# B C


            </div>
目录
相关文章
|
Python
Python基础:如何从多个文件中判断某文件的存在
Python基础:如何从多个文件中判断某文件的存在
|
Python
Python基础 if 判断语句详解
Python if 判断语句详解
158 1
Python基础 if 判断语句详解
|
C语言 Python
python基础 判断语句
python基础 判断语句
135 0
python基础 判断语句
|
机器学习/深度学习 编解码 前端开发
Web 应用程序,python判断文件是否存在,不存在则创建,如何将飞桨中的代码在pycharm中运行
Web 应用程序,python判断文件是否存在,不存在则创建,如何将飞桨中的代码在pycharm中运行
523 1
|
算法 异构计算 Python
【Python】向量叉积和凸包 | 引射线法 | 判断点是否在多边形内部 | 葛立恒扫描法 | Cross Product and Convex Hul
这个系列似乎反响不错, 所以我继续水下去 (bushi)。本篇博客是关于经典的 Cross Product and Convex Hull (向量叉积和凸包)的,我们将介绍引射线法,葛立恒扫描法。在讲解之前我会对前置知识做一个简单的介绍,比如向量叉积,如何确定直线是在顺时针上还是逆时针上等。算法讲解部分是为后面练习题做准备的,比如如何判断内点是否在多边形内,如何计算多边形面积等,还将简单介绍一下葛立恒扫描法,在提供的练习题中就能碰到.
847 0
【Python】向量叉积和凸包 | 引射线法 | 判断点是否在多边形内部 | 葛立恒扫描法 | Cross Product and Convex Hul
|
存储 数据可视化 Java
Python定义一个单链表可判断是否为空,计算长度,插入节结点实验
Python定义一个单链表可判断是否为空,计算长度,插入节结点实验
356 0
Python定义一个单链表可判断是否为空,计算长度,插入节结点实验
|
Python
Python数学计算工具2、判断质数、遍历质数
Python数学计算工具2、判断质数、遍历质数
147 0
Python数学计算工具2、判断质数、遍历质数
|
Python
【Python零基础入门篇 · 13】:字符串判断扩展、变量作用域、global和nonlocal的使用
【Python零基础入门篇 · 13】:字符串判断扩展、变量作用域、global和nonlocal的使用
【Python零基础入门篇 · 13】:字符串判断扩展、变量作用域、global和nonlocal的使用
|
Python
【Python零基础入门篇 · 5】:if判断的用法、内置函数range()、for循环和while循环以及break和contine
【Python零基础入门篇 · 5】:if判断的用法、内置函数range()、for循环和while循环以及break和contine
103 0
【Python零基础入门篇 · 5】:if判断的用法、内置函数range()、for循环和while循环以及break和contine
|
Python
Python基础作业:百钱百鸡问题、求最大公倍数和最小公约数、判断回文数
Python基础作业:百钱百鸡问题、求最大公倍数和最小公约数、判断回文数
143 0
Python基础作业:百钱百鸡问题、求最大公倍数和最小公约数、判断回文数