Python学习笔记(五)函数参数类型检查

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

你可能感兴趣的:(Python学习笔记(五)函数参数类型检查)