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
相关文章
|
12天前
|
测试技术 API 数据安全/隐私保护
Python连接到Jira实例、登录、查询、修改和创建bug
通过使用Python和Jira的REST API,可以方便地连接到Jira实例并进行各种操作,包括查询、修改和创建Bug。`jira`库提供了简洁的接口,使得这些操作变得简单易行。无论是自动化测试还是开发工作流的集成,这些方法都可以极大地提高效率和准确性。希望通过本文的介绍,您能够更好地理解和应用这些技术。
48 0
|
1月前
|
Python
Python中的push方法详解与实例
Python中的push方法详解与实例
|
1月前
|
Python
Python 练习实例100
Python 练习实例100
|
1月前
|
Python
Python 练习实例98
Python 练习实例98
|
1月前
|
数据处理 Python
Python内置时间模块:Datetime实例详解(一)
Python内置时间模块:Datetime实例详解(一)
|
1月前
|
Python
Python 练习实例99
Python 练习实例99
|
2月前
|
Python
Python 练习实例94
Python 练习实例94
|
2月前
|
数据可视化 Python
Python绘制基频曲线——实例解析与应用探讨
Python绘制基频曲线——实例解析与应用探讨
|
2月前
|
Python
Python 练习实例92
Python 练习实例92
|
2月前
|
Python
Python 练习实例93
Python 练习实例93