跟着廖老师学Python(12):函数2 - 定义函数

续:第(11)节
本文所有引用均来自廖雪峰老师的网站。转载请说明出处。


  1. 在Python中,定义函数使用的是def语句:
    def my_abs(x):

  2. 然后,在缩进块中编写函数体,函数的返回值用return语句返回。
    def my_abs(x):
    if x >= 0:
    return x
    else:
    return -x


    跟着廖老师学Python(12):函数2 - 定义函数_第1张图片
    定义函数-例子
  3. 可以将上述自定义函数单独保存为一个.py文件。令文件名为def_func.py。此时,就可以使用Python解释器,使用from def_func import my_abs来导入my_abs()函数了(前提是当前工作目录中含有这个.py文件):

    跟着廖老师学Python(12):函数2 - 定义函数_第2张图片
    例子

  4. 空函数 - pass的使用

    • 只定义一个函数名,并没有任何实质的语句进行实现的函数。例如:
      def nop():
      pass

    • 这里的pass相当于一个占位符。有的时候不知道函数怎么实现,先这么写一下,让代码跑起来再说。

    • pass还可以用于条件语句等其他语句中:
      if age>=18:
      pass

  5. 参数检查
    在使用Python内置函数时,若传入参数的类型不正确,那么Python解释器会自动检查出来并抛出TypeError
    而在我们自己定义的函数中,由于我们自己没有对参数进行检查,所以若传入错误类型的参数,是不会抛出TypeError的。
    此时,可以对我们自己的函数进行参数类型的检查。例如,只允许整数和浮点数类型的参数。

数据类型检查可以用内置函数isinstance()实现
if not instance(x, (int, float)):
raise TypeError('bad operand type')

  1. 返回多个值
    import math #导入math包,类似于C中的include

Python的函数返回多值其实就是返回一个tuple,也就是说,Python函数返回的仍然是单一值。

但是,在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值。

跟着廖老师学Python(12):函数2 - 定义函数_第3张图片
move.py
跟着廖老师学Python(12):函数2 - 定义函数_第4张图片
运行结果

注意:使用math相关函数时,每个函数前面都要加入math.前缀。

(未完待续……)

你可能感兴趣的:(跟着廖老师学Python(12):函数2 - 定义函数)