issubclasss/type/isinstance/callable
issubclass() :
方法用于判断第一个参数是否是第二个参数的子子孙孙类。
复制代码
语法:issubclass(sub, super)
检查 sub 类是否是 super 类的派生类
class A:
pass
class B(A):
pass
print issubclass(B,A)
复制代码
type()
给你一个参数,判断对象是不是由某一个指定类? –> type(obj) == Foo
实例
isinstance()
来判断一个对象是否是一个已知的类型,类似 type()。
实例
callable()
1, 用于检查一个对象是否是可调用的。如果返回 True,object 仍然可能调用失败;但如果返回 False,调用对象 ojbect 绝对不会成功。
2, 对于函数, 方法, lambda 函式, 类, 以及实现了 call 方法的类实例, 它都返回 True。
3., 类对象都是可被调用对象,类的实例对象是否可调用对象,取决于类是否定义了 __call__ 方法。
复制代码
class A: #定义类 A
passcallable(A) #类 A 是可调用对象
True
a = A() #调用类 A
callable(a) #实例 a 不可调用
False
a() #调用实例 a 失败
Traceback (most recent call last):
File “<pyshell#31>”, line 1, in
a()
TypeError: ‘A’ object is not callableclass B: #定义类 B
def call(self):
print(‘instances are callable now.’)callable(B) #类 B 是可调用对象
True
b = B() #调用类 B
callable(b) #实例 b 是可调用对象
True
b() #调用实例 b 成功
instances are callable now.