defmy_abs(x): "求一个数的绝对值" ifnot isinstance(x,(int,float)): #做传入函数的参数做类型判断,只有整形或浮点型的数才能求绝对值 raise TypeError('bad type') if x >= 0: return x else: return -x print('这是{0},的说明性文档:{1}'.format(my_abs.__name__,my_abs.__doc__))
这是my_abs,的说明性文档:求一个数的绝对值
调用函数
直接键入“functionname([patameters])”即可调用函数
1
my_abs(29)
29
1
my_abs(-23.8)
23.8
1
my_abs('ab') #当传入的参数不能通过类型检查时触发raise异常语句
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-20-3c363f4bf733> in <module>()
----> 1 my_abs('ab')
<ipython-input-17-90b4c1d5d37c> in my_abs(x)
2 "求一个数的绝对值"
3 if not isinstance(x,(int,float)): #做传入函数的参数做类型判断,只有整形或浮点型的数才能求绝对值
----> 4 raise TypeError('bad type')
5 if x >= 0:
6 return x
TypeError: bad type
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-78-0d64ee959b5f> in <module>()
----> 1 sum(2,'r')
<ipython-input-75-8a59f5f93a03> in <lambda>(x, y)
----> 1 sum = lambda x,y: x + y
TypeError: unsupported operand type(s) for +: 'int' and 'str'