使用isinstance()函数,判断输入的函数是否为已知的类型。raise() 引发异常。

语法:isinstance(object,type)

参数:object是对象,type是直接或间接类型名,或者基本类型组成的元组,(A type or a class, or a tuple of types and/or classes)。

如果规定的object是规定的类型,就会返回True。

如果参数类型为元组,object的类型是元组中的其中一种,则返回True。

type类型可以是:int,float,bool,complex(复数),str(字符串),list,dict(字典),set(集合),tuple(元组)

1 x = isintance("hello", (float, int, str, list, dict, tuple))
2 print (x)
3 #return True

raise用于引发异常

(raise 提出,exception不赞同)

x = -1
if x<0:
     raise Exception("Sorry,no numbers blew zero")  

综合:

例如:可以判断输入的函数参数是否为指定类型。如果输入的函数参数错误,就会指出错误。

1 def my_abs(x):
2     if not isinstance(x,(int, float)):
3         raise TypeError('bad operand type!')
4     if x >= 0;
5         return x
6     else:
7         return -x
my_abs('sss')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 3, in my_abs
TypeError: bad operand type!
my_abs('-99')
99
 

 

posted @ 2019-01-21 16:27  3lina!  阅读(349)  评论(0编辑  收藏  举报