day9总结:函数(2019-04-25)

1. 什么是函数(function)

  • 函数就是对实现某一特定功能的代码块的封装

2. 函数的分类

1)系统函数(内置函数):

  • 系统已经实现的函数(已经造好的机器),程序员只需要调用就行
  • 例如:print函数、input函数、len函数、sum函数、max函数等

2)自定义函数:

  • 程序员自己声明的函数(自己造机器)

3. 函数的声明(定义):“造机器”

1)语法

def 函数名(形参列表):
    函数说明文档
    函数体


    '''
    函数说明文档(功能说明)
    :param num1:参数说明
    :param num2:参数说明
    :return:返回值说明
    '''

2)说明

  • def:python声明函数的关键字
  • 函数名:程序员自己命名,是标识符,不能是关键字;和变量名要求一样;见名知义(看到函数名大概知道函数的功能)注意:python中不支持函数的重载(名字相同的函数只能有一个)
  • ():固定写法
  • 形参列表:变量名1,变量名2,变量名3...(根据情况变量名的个数可以是0个、1个或者多个);形参的作用是将函数外面的数据传递到函数的里面
  • :固定写法
  • 函数体:和def保持一个缩进的一条或者多条语句(实现函数功能的代码块)

3)初学者声明函数的步骤

  • 第一步:确定函数的功能
  • 地二步:根据功能确定函数名
  • 第三步:确定形参(看实现函数的功能需不需要从外面传值,如果需要传值,需要几个)
  • 第四步:实现函数的功能
  • 第五步:确定返回值
  • 注意:函数声明的时候,函数体不会执行(函数调用的时候才会执行函数体)

4. 函数的调用:“使用机器”

1)语法

函数名(实参列表)-------函数调用表达式

2)说明

  • 函数名:已经声明过的函数
  • ():固定写法
  • 实参列表:数据1,数据2,数据3...(实参是用来给形参赋值)
  • 函数调用的作用:执行循环体,获取返回值

3)函数的调用过程(重要!!!)

  • 第一步:回到函数声明的位置
  • 第二步:用实参给形参赋值。(这个过程又叫传参, 传参要保证每个形参都有值)
  • 第三步:执行函数体
  • 第四步执行完函数体(函数体执行完或者执行过程中遇到return),确定函数返回值(看执行函数的过程中有没有遇到return,如果遇到了,return后面表达式的值就是函数的返回值;如果没有遇到return,函数的返回值就是None)
  • 第五步:回到函数调用的位置,接着往后执行(这个时候函数调用表达式的值就是函数的返回值)

5. 函数的参数:“原材料”

  • 调用函数的时候根据实参的写法分为位置参数关键字参数

1)位置参数(实参)

  • 让实参的顺序和形参一一对应,中间用逗号隔开

2)关键字参数(实参)

  • 以'形参名1=值1, 形参名2=值2...'格式来确定实参
  • 注意:如果既有位置参数又有关键字参数,位置参数必须写在关键字参数前面

3)参数默认值(形参)

  • 声明函数的时候,可以给形参赋默认值
  • 有默认值的形参,在调用函数的时候可以不用给这个形参赋值
  • 注意:声明的时候有默认值的参数要放在没有默认值的参数的后面

4)参数的类型说明(形参)

  • python中类型只有说明的作用,没有约束的作用
  • 说明方式:
    a.参数赋默认值
    b.参数名:类型

5)不定长参数(形参)

  • 形参的参数不确定
  • 声明函数的时候,在形参的前面加 * ,那么这个参数就变成不定长参数,可以同时接收多个位置实参(将这个参数变成元组
  • 声明函数的时候,在形参的前面加 ** ,那么这个参数也会变成不定长参数,可以同时接收多个关键字实参(将这个参数变成字典
  • 注意:不带 * 的参数要放在带 * 参数的前面

6. 函数的返回值:“产物”

  • 返回值就是return关键字后面表达式的值,就是函数调用表达式的值

1)return

  • return是函数体中的关键字(只能出现在函数体)
  • 作用:结束函数,确定函数返回值

2)什么时候需要返回值

  • 如果实现函数的功能会产生新的数据,就可以把这个数据作为函数返回值
  • return 返回值1,返回值2,...(可以有多个返回值,用逗号隔开,结果是个元组)

你可能感兴趣的:(day9总结:函数(2019-04-25))