导引
当我们的逻辑较为复杂,代码量日益增多时,如果我们还和之前一样把所有的代码都放在一起,则会造成代码的可读性较差,在这里我们提供了一个方法,就是将功能进行差分,把每个功能封装成一个函数
而我们在实现需求时只需要调用函数
即可
函数的组成与定义
函数大致由4部分构成:
- 函数名
- 形参列表(可选)
- 函数体
- 返回值(可选)
函数名:在定义一个函数是给函数起的名字
形参列表:可以理解为函数在实现功能时要使用的工具
函数体:函数实现功能时的具体步骤
返回值:在函数实现后需要得到的东西
案例1:
如果函数要实现购物
这个功能,那么形参列表
可能就是购物清单
和人民币
,返回值
就是买回来的东西
案例2:
如果函数要实现跑步
这个功能,可能这个功能不需要任何的工具,实现后也不需要得到任何东西,那么这个函数就没有形参列表
和返回值
因此,函数大概分为四类:
- 无返回值无参
- 无返回值有参
- 有返回值无参
- 有返回值有参
函数的定义方式:
def 函数名(形参列表):
函数体
return 返回值
例如实现两个数相加的功能:
def add(a,b):
return a+b
sum_ab = add(3,2)
print(sum_ab)
运行结果:5
形参默认值
在一些情况下我们需要给形参设定一个默认值,在没有传入实参时,函数就使用默认值进行运算
演示:
def add(a=3,b=3):
return a+b
sum_ab = add()
print(sum_ab)
运行结果:6
可变形参
有时我们可以不能确定要有几个形参,这时我们就可以定义可变形参
,可变形参
允许传入任意个参数进行运算
声明方式:
- *变量名
演示:
def add(*args):
m = 0
for i in args:
m += i
return m
sum_m = add(1,2,3)
print(sum_m)
运行结果:6
可变形参还有一种声明用来接收键值对
- **变量名
演示:
def printkw(**kwargs):
for key,word in kwargs.items():
print(key,word)
printkw(yun=1,jian=2)
运行结果:
yun 1
jian 2