一、函数的声明
函数: 就是对实现某一些功能的代码块的封装
&emsp作用: 封装(将功能绑定在一个函数中,想要使用这个功能的时候,直接调用函数)
1. 怎么声明函数:
格式:
def 函数名(参数列表):
函数体
def:是Python中声明函数的关键字
函数名: 标识符。PEP8. 见名知意(看到函数名要知道函数的作用)
函数说明: 对函数的功能和参数以及返回值进行说明
(): 固定格式
参数列表: (形参列表)(参数名1, 参数名2, 参数名3, ...)
参数的功能: 用来接收外部传到函数内部的数据
函数体: 实现函数功能的代码块,可能包含一个return语句
2. 初学者声明函数的步骤:
a. 确定函数的功能
b. 确定函数名
c. 确定参数:
①需不需要参数;
②需要几个参数(看函数功能需不需要从外部传输数据到函数内部)
d. 实现函数的功能
e. 确定返回值
3. 函数的调用
函数名(实参列表)
- 函数名: 调用的函数一定是已经声明过的,想要使用什么功能就调用对应函数
- 实参列表: 实参是用来给形参赋值的
函数调用过程:
- 回到函数声明的地方
- 使用实参给形参赋值
- 执行函数体
- 函数体执行完成后, 回到函数调用的位置
注意:
1. 函数只有被调用的时候才会被执行
2. 函数调用的时候一定要保证每个参数都有值
# 写一个函数,计算两个数的和
def sum_add(*s):
sum1 = 0
for item in s:
sum1 += item
return sum1
def print10():
for _ in range(10):
print('*', end=' ')
print10()
print(sum_add(1, 2, 3, 4, 5))
* * * * * * * * * *
15
二、参数
参数的作用:从函数外面给函数传值
1. 位置参数
传递参数时, 实参按顺序给形参赋值
2. 关键字参数
- 调用函数时格式:
函数名(a=10,b=20,c=30)
- 位置参数和关键字参数可以混合
3. 函数参数的默认值
在python中函数声明的时候参数可以设置默认值,有默认值的参数必须放在参数列表的最后
调用参数有默认值的函数时, 有默认值的参数可以不传值
例如:
def fun2(a, b, c=10):
print(a, b, c)
4. 参数个数不定
函数的个数不确定的时候,就在声明函数的时候,形参的前面加一个*,将形参变成元组
- 参数个数不定时也可以不传参,对应参数就会变成一个空的元组
- 调用函数的时候,这个参数会将对应的实参作为元组的元素保存起来
"""
# 写一个函数,求多个数的和
def sum_add(*s):
sum1 = 0
print(s)
for item in s:
sum1 += item
return sum1
# 注意: 参数个数不定时,可以是一形参中的一部分是不定的
# 个数不定的参数要放到参数的最后
def fun3(char, *s):
print(char,s)
fun3(1, 2, 3, 4, 5, 6, 7, 8, 9)
print(sum_add(1, 2, 3, 4, 5, 6, 7, 8, 9, 10))
1 (2, 3, 4, 5, 6, 7, 8, 9)
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
55