isinstance: 判断你给对象是否是xx类型的. (向上判断) type: 返回xxx对象的数据类型 issubclass: 判断xxx类是否xxx的子类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | 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)) |