续:第(11)节
本文所有引用均来自廖雪峰老师的网站。转载请说明出处。
在Python中,定义函数使用的是
def
语句:
def my_abs(x):-
然后,在缩进块中编写函数体,函数的返回值用return语句返回。
def my_abs(x):
if x >= 0:
return x
else:
return -x
-
可以将上述自定义函数单独保存为一个
.py
文件。令文件名为def_func.py
。此时,就可以使用Python解释器,使用from def_func import my_abs
来导入my_abs()
函数了(前提是当前工作目录中含有这个.py文件):
-
空函数 -
pass
的使用只定义一个函数名,并没有任何实质的语句进行实现的函数。例如:
def nop():
pass这里的
pass
相当于一个占位符。有的时候不知道函数怎么实现,先这么写一下,让代码跑起来再说。pass
还可以用于条件语句等其他语句中:
if age>=18:
pass
参数检查
在使用Python内置函数时,若传入参数的类型不正确,那么Python解释器会自动检查出来并抛出TypeError
。
而在我们自己定义的函数中,由于我们自己没有对参数进行检查,所以若传入错误类型的参数,是不会抛出TypeError的。
此时,可以对我们自己的函数进行参数类型的检查。例如,只允许整数和浮点数类型的参数。
数据类型检查可以用内置函数isinstance()实现
if not instance(x, (int, float)):
raise TypeError('bad operand type')
- 返回多个值
import math #导入math包,类似于C中的include
Python的函数返回多值其实就是返回一个tuple,也就是说,Python函数返回的仍然是单一值。
但是,在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值。
注意:使用math相关函数时,每个函数前面都要加入math.
前缀。
(未完待续……)