首页 > 代码库 > 4.1-函数的定义

4.1-函数的定义

1 函数

  使用函数可以参照Python的官方说明文档

  https://docs.python.org/3/index.html

   

  常用的两个方法 abs和max, 分别表示取绝对值和最大值

  

  常用的类型转换函数有

    int()

    float()

    str()

    bool()

    其中bool()的使用范例如下

>>> bool(1)True>>> bool(‘‘)False

2 函数的实质

  函数的实质就是一个函数对象的引用, 所以完全可以把这个函数名给一个变量,相当于给这个函数取了一个别名

>>> a = abs       # 变量a指向abs函数>>> a(-1)           # 所以也可以通过a调用abs函数1

3 定义函数

  定义方法:

    def 函数名(参数列表):

      函数体

      return

def my_abs(x):    if x >= 0:        return x    else:        return -x

  其中一定要注意, 函数体要写在缩进里面

  

  当没有return语句的时候, 函数执行完毕之后也会返回结果, 不过该结果为None

  return None就可以直接简写为 return

4 空函数

  有的时候在函数体里并不需要执行什么操作的时候, 可以用pass来表示

def nop():    pass

5 类型检查

  函数在执行方法体之前, 应该先检查一下传入的参数是否符合类型要求, 增加函数的健壮性

  检查类型有一个方法 isinstance()

    isinstance(检验的变量, (允许的类型, 允许的类型))

def my_abs(x):    if not isinstance(x, (int, float)):        raise TypeError(‘bad operand type‘)    if x >= 0:        return x    else:        return -x

  如果变脸在类型列表中, 则返回True, 否则返回False

6 函数的返回值

  函数的返回值可以是一个, 也可以是多个, 多个的时候实际上是tuple类型

import mathdef move(x, y, step, angle=0):    nx = x + step * math.cos(angle)    ny = y - step * math.sin(angle)    return nx, ny>>> x, y = move(100, 100, 60, math.pi / 6)>>> print(x, y)151.96152422706632 70.0>>> r = move(100, 100, 60, math.pi / 6)>>> print(r)(151.96152422706632, 70.0)

 

4.1-函数的定义