isinstance type issubclass

Posted work14

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了isinstance type issubclass相关的知识,希望对你有一定的参考价值。

class Animal:
    def eat(self):
        print("刚睡醒吃点儿东西")

class Cat(Animal):
    def play(self):
        print("猫喜欢玩儿")

c = Cat()



print(isinstance(c, Cat)) # c是一只猫
print(isinstance(c, Animal)) # 向上判断

a = Animal()
print(isinstance(a, Cat)) # 不能向下判断


print(type(a)) # 返回 a的数据类型
print(type([]))
print(type(c)) # 精准的告诉你这个对象的数据类型

# 判断.xx类是否是xxxx类的子类
print(issubclass(Cat, Animal))
print(issubclass(Animal, Cat))

# 应用
def cul(a, b): # 此函数用来计算数字a和数字b的相加的结果
    # 判断传递进来的对象必须是数字. int float
    if (type(a) == int or type(a) == float) and (type(b) == int or type(b) == float):
        return a + b
    else:
        print("对不起. 您提供的数据无法进行计算")

print(cul(a, c))

  

以上是关于isinstance type issubclass的主要内容,如果未能解决你的问题,请参考以下文章

type和isinstance区别

python 笔记type() isinstance()

Python isinstance type

聊一聊isinstance与type

type() 和 isinstance()区别

[Python] isinstance() for checking object type