函数映像
一、函数的的意义
在面向过程编程中,我们可能会遇到以下问题:
代码冗长、可读性差、可扩展性差(不易修改)
函数的应用就是解决这些问题的。
二、函数的定义
格式与定义:def关键字开头,空格之后接函数名和括号()。
需要强调的是:def是固定的额,不能变
空格将def关键字和函数名分开。
函数名只能由不可变量命名,如字符串、下划线的组合且不能以数字开头,一般函数名尽量简短且能表达函数功能。
括号是必须加的,这是函数的固定格式。
函数的注释:每一个函数都应该对其功能和参数进行相应的说明,一般用多行注释,增加代码的可读性。
三、函数的返回值
return关键字的作用
三种情况:
1、没有返回值 None
(1)不谢return的情况下,默认返回一个None;
(2)只写return,后面不写其他内容,也会返回None。此外,函数一旦遇到return,就会结束整个函数。
2、返回一个值
只需在return后加上需要返回的内容即可。
3、返回多个值
(1)返回的多个值会被组织成元祖返回。
(2)可以用多个值分别接收多个返回值。
四、函数的参数
(1)实参与形参的区别
实参:调用函数时传递的参数是实际参数。
形参:定义函数时函数的的名字,只是一个变量的名字,被称为形式参数。
(2)参数的分类
1、位置参数
(1)按照位置传递参数
(2)按照关键字传递参数
注意:在位置参数和关键字混用时,(1)位置参数必须在关键字参数前面;(2)对于一个形参只能被赋值一次。
2、默认参数
作用:将变化值较小的值设置成默认参数。
注意:默认参数是一个可变数据类型。
3、动态参数
(1)args
按位置传值的多余的参数都由args统一接收,保存为元组形式。
(2)kwargs
按关键字传值的多余参数都由kwargs传值,保存为字典形式。
补充:形参的排列顺序
位置参数——》*args——》默认参数——》**kwargs
补充:闭包函数的应用:
在下一节补充
ok!