一,函数基础
1.函数的定义:
函数就是对实现某一特定功能的代码块的封装
2.函数的作用:
将功能代码块封装起来,想要使用这个功能的时候直接调用函数
3.声明函数:
结构:
def 函数名(参数列表):
'''函数说明'''
函数体
- def:是Python中声明函数的关键字
- 函数名:标识符;遵循PEP8命名法;见名知意。
- 函数体:实现函数功能的代码块,可能会包含一个return语句
- (参数列表):参数列表(形参列表):参数名1, 参数名2,参数名3 。参数的功能是用来接收函数外部传递到函数内部的数据,()不能漏写。
4.声明函数的步骤
a.确定函数的功能
b.根据功能确定函数名
c.确定参数(重点):
1.确定是否需要参数----->看实现函数功能需不需要从函数外部传入数据到函数内部
2.如果需要,需要几个参数
d.实现函数的功能
e.确定返回值
5.函数调用
调用语法:
函数名(实参列表)
(1).函数名:调用的函数一定是已经声明过的,想要使用什么功能就调用对应的函数
(2)实参列表:实参是用来给形参赋值的
6.注意事项:
- 函数只有在调用时才能执行
- 一定要保证每个形参都有值
- 函数的调用一定在函数的声明后面
- 一个函数可以多次调用
7.举例:
代码实现:
# 写一个函数,计算两个数的和
def my_sum(num1, num2):
"""
求两个数的和
:param num1: 提供第一个参数,int
:param num2: 提供第二个参数,int
:return: 对返回值进行说明
"""
print(num1, num2)
print('==========')
print(num1 + num2)
# 函数的调用一定在函数的声明后
my_sum(10, 30)
输出结果:
10 30
==========
40
二,函数的参数
参数的作用:从函数外部给函数传递值
1.位置参数:
传参的时候,实参按顺序给形参传值
- 形参:定义函数时,括号中的参数叫做形参
- 实参:具体的值
代码实现:
def func1(a, b, c):
print(a, b, c)
func1(1, 2, 3)
输出结果:
1, 2, 3
2.关键字参数:
有关键字参数时,关键字参数必须在位置参数的后面,关键字参数之间不存在先后顺序
代码实现:
def funct(a, b, c):
pirnt(a, b, c)
funct(1, 2, a=3)
#错误调用
funct(a=1, 2, 3)
输出结果:
3, 1, 2
3.参数的默认值
调用参数有默认值的函数时,可以传参,也可以不用传参。
代码实现:
def func2(b, c, a=2):
print(a, b, c)
# 传递三个参数
func2(1, 2, 3)
print("=========")
# 传递两个参数
func2(1, 3)
输出结果:
3, 2, 1
=========
2, 1, 3
4.参数个数不足
参数个数不确定的时候,就在声明函数的时候,形参前面加一个*,将形参变为元组。调用函数的时候,这个函数会将对应的实参作为作为元组保存起来
- 参数的个数不定,可以是形参中的部分参数不定
- 参数个数不定时可以不用传参,对应的参数的值就是一个空元组
- 个数不确定的参数要放到参数列表的最后
代码实现:
# 写一个函数,是求多个函数的和
def sum_nums(*nums):
print(*nums)
sum1 = 0
for item in nums:
sum1 += item
print(sum1)
# 传递多个参数
sum_nums(10, 20, 30)
print('======')
def func3(char, *nums):
print(char, nums)
func3(1, 2, 4, 5)
输出结果:
60
======
1 (2, 4, 5)