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)) |