今天看了下廖雪峰的网站,发现有个isinstance函数能够对参数类型进行判断:python
对参数类型作检查,只容许整数和浮点数类型的参数。数据类型检查能够用内置函数isinstance
实现:函数
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 "<stdin>", line 1, in <module> File "<stdin>", line 3, in my_abs TypeError: bad operand type
使用raise抛出异常spa
当程序出现错误,python会自动引起异常,也能够经过raise显示地引起异常。一旦执行了raise语句,raise后面的语句将不能执行code
摘自:ast
http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/00137473843313062a8b0e7c19b40aa8f31bdc4db5f6498000class