instance()的用法
语法:
instance(object, classinfo)
其中,object是变量,classinfo是类型(int/float/bool/list/tuple/dict/set)和类(class),如果object是classinfo类的一个实例或是classinfo类的子类的一个实例,则返回Ture,否则返回False。如果classinfo不是一种数据类型或有数据类型构成的元组,将引发一个TypeError异常。
type()也可以判断对象类型,但是不能判断class类的子类对象类型。
例子:函数my_abs()
def my_abs(x):
if not isinstance(x, (int, float)):
raise TypeError('bad operand type')
if x >=0:
return x
else:
return -x
>>>my_abs('a')
Traceback (most recent call last):
File "/Users/lijing/python_test/test.py", line 10, in <module>
p = my_abs('a')
File "/Users/lijing/python_test/test.py", line 4, in my_abs
raise TypeError('bad operand type')
TypeError: bad operand type