一、函数定义和调用
1.1 函数的定义
定义函数的格式如下:
def 函数名():
代码
demo:
# 定义一个函数,能够完成打印功能
def print_word():
print('这是一个测试函数')
1.2 函数的调用
函数定义完成后,是不会自动执行额,需要通过函数名来进行调用:
如调用上方定义的函数:
print_word()
# 输出结果
这是一个测试函数
函数每次调用时都会从头开始执行,直到代码执行完毕,如果函数中执行到了return也会结束函数
1.3函数的功能说明文档
def print_word():
"""
这个函数的功能是测试函数
"""
print('这是一个测试函数')
help(print_word)
# 输出结果
print_word()
这个函数的功能是测试函数
1.3小练习
定义一个函数,并定义两个数,输出相加后的结果。
二、函数的参数
首先给出上边小练习的一种写法:
def add_num():
a = 100
b = 200
print(f"两数之和为{a + b}")
add_num()
# 输出结果
两数之和为300
上边的函数虽然实现了输出a+b的和,但是这个函数相当于是为a 和 b定制的,不具有通用性。
提问:怎么让这个函数更具有通用性呢?
这里就要有请我们函数的参数出场了。把函数比作一个加工机器,那么参数就是原材料,机器根据材料不同,加工出的产品就不同
2.1 定义带有参数的函数
def add_num(a, b):
print(f"两数之和为{a + b}")
add_num(100, 200)
# 输出结果
两数之和为300
在调用有参数函数的时候,我们要根据定义时参数位置,给参数一个要进行加工的值
如:
add_num(1, 2)
add_num(2, 3)
调用过程如下图所示:
定义时小括号中的参数,用来接收参数用的,称为 “形参”
调用时小括号中的参数,用来传递给函数用的,称为 “实参”
三、函数的返回值
在函数中,除了很重要的参数外,还有一个很重要的东西叫返回值。所谓“返回值”,就是函数执行完成后,返回给调用者的结果。
例如:
def add_num(a, b):
result = a + b
return result
total_num = add_num(100, 200)
print(f"返回值为{total_num}")
# 输出结果
返回值为300
四、4种函数的类型
函数根据有没有参数,有没有返回值,可以相互组合,一共有4种
- 无参数,无返回值
- 无参数,有返回值
- 有参数,无返回值
- 有参数,有返回值
五、函数的嵌套调用
函数嵌套调用就是在一个函数里面又调用了另外一个函数
def fucB():
print('---- fucB 开始----')
print('执行fucB的执行')
print('---- fucB 结束----')
def fucA():
print('---- fucA 开始----')
fucB()
print('---- fucA 结束----')
fucA()
# 输出结果
---- fucA 开始----
---- fucB 开始----
执行fucB的执行
---- fucB 结束----
---- fucA 结束----