Python3基础---函数

1.函数存在的意义

(1)复用

(2)方便维护

2.函数定义

(1)定义函数:def 函数名(参数1,参数2,,,,参数也可以没有)

Python3基础---函数

(2)匿名函数:lambda表达式,格式为: lambda 参数列表(可以有多个,也可以没有):表达式(lambda表达式的返回值),lamdda表达式只能有一行

Python3基础---函数

3.调用函数:函数名(参数,,)

Python3基础---函数

4.函数参数介绍

(1)形参:函数定义是指定的参数

(2)实参:函数调用时传递的参数

(3)位置参数:调用函数时根据函数定义的参数位置来传递参数,位置不能变,且不能少

Python3基础---函数

(4)关键字参数:在调用函数的时候,实参可以通过形参的名字key=value的形式来传递

Python3基础---函数

(5)默认参数:为了方便,可以把不经常改变的参数设置为默认参数,默认参数必须要放在位置参数的后面

         注:如果有缺省值参数,默认值需要放在缺省值参数后面

Python3基础---函数

(6)缺省的位置参数:*args

  •  参数个数不确定,可能是0个,也可能是多个
  • args接收的是一个元组tuple
  • 传参方式:直接传入,例如cal_sum(1,2,3),也可以先组装list或tuple,再通过*args传入:cal_sum(*list)或者cal_sum(*tuple),在函数内部会自动被组装成一个tuple

Python3基础---函数

(7)缺省的关键字参数:**kwargs

  • 参数个数未知,可能是0个或者多个
  • kwargs接收的是一个字典
  • 传参方式:直接传入cal_sum(a=1,b=2),也可以先组装dict,再通过**kw传入:cal_sum(**{“a”:1,"b":2})
  • Python3基础---函数

5.函数返回值

(1)函数可以有返回值,用return 返回值内容,也可以没有返回值

(2)如果想返回多个值,可以使用元组

Python3基础---函数

6.函数变量作用域

(1)局部变量:在函数中声明的变量,只能在函数内使用

(2)全局变量:在函数外声明的变量,可以在函数内使用

(3)global关键字:如果想在函数中修改全局变量,需要使用global关键字

Python3基础---函数