1. 函数的作⽤
7.2 函数计算
- 函数就是将⼀段具有独⽴功能的代码块整合到⼀个整体并命名,在需要的位置调⽤这个名称即可完成对应的需求。
- 函数在开发过程中,可以更⾼效的实现代码重⽤。
def 函数名(参数):
代码1
代码2
......
2.2 调⽤函数
函数名(参数)
注意:
1. 不同的需求,参数可有可⽆。
2. 在Python中,函数必须先定义后使⽤。
2.3 示例代码【需求:复现ATM取钱功能】
1.
搭建整体框架
(
复现需求
)
print('密码正确登录成功')
# 显示"选择功能"界⾯
print('查询余额完毕')
# 显示"选择功能"界⾯
print('取了2000元钱')
# 显示"选择功能"界⾯
2.
确定
“
选择功能
”
界⾯内容
print('查询余额')
print('存款')
print('取款')
3.
封装
"
选择功能
"
注意:⼀定是先定义函数,后调⽤函数。
# 封装ATM机功能选项 -- 定义函数
def select_func():
print('-----请选择功能-----')
print('查询余额')
print('存款')
print('取款')
print('-----请选择功能-----')
4.
调⽤函数
在需要显示
“
选择功能
”
函数的位置调⽤函数。
print('密码正确登录成功')
# 显示"选择功能"界⾯ -- 调⽤函数
select_func()
print('查询余额完毕')
# 显示"选择功能"界⾯ -- 调⽤函数
select_func()
print('取了2000元钱')
# 显示"选择功能"界⾯ -- 调⽤函数
select_func()
3.函数的参数作⽤
完成需求如下:⼀个函数完成两个数
1
和
2
的加法运算,如何书写程序?
# 定义函数
def add_num1():
result = 1 + 2
print(result)
# 调⽤函数
add_num1()
思考:上述
add_num1
函数只能完成数字
1
和
2
的加法运算,如果想要这个函数变得更灵活,可以计算任何⽤户指定的两个数字的和,如何书写程序?
分析:⽤户要在调⽤函数的时候指定具体数字,那么在定义函数的时候就需要接收⽤户指定的数字。函数调⽤时候指定的数字和定义函数时候接收的数字即是函数的参数。
# 定义函数时同时定义了接收⽤户数据的参数a和b,a和b是形参
def add_num2(a, b):
result = a + b
print(result)
# 调⽤函数时传⼊了真实的数据10 和 20,真实数据为实参
add_num2(10, 20)
函数的参数:函数调⽤的时候可以传⼊真实数据,增⼤函数的使⽤的灵活性
形参:函数定义时书写的参数(⾮真实数据)
实参:函数调⽤时书写的参数(真实数据)
4.函数的返回值作⽤
在函数中,如果需要返回结果给⽤户需要使⽤函数返回值。
作⽤:函数调⽤后,返回需要的计算结果
def buy():
return '烟'
# 使⽤变量保存函数返回值
goods = buy()
print(goods)
4.1 应⽤
需求:制作⼀个计算器,计算任意两数字之和,并保存结果。
def sum_num(a, b):
return a + b
# ⽤result变量保存函数返回值
result = sum_num(1, 2)
print(result)
5.函数的说明⽂档
思考:定义⼀个函数后,程序员如何书写程序能够快速提示这个函数的作⽤?
答:注释
思考:如果代码多,我们是不是需要在很多代码中找到这个函数定义的位置才能看到注释?如果想更⽅便的查看函数的作⽤怎么办?
答:函数的说明⽂档
函数的说明⽂档也叫函数的⽂档说明。
5.1 语法
定义函数的说明⽂档
def 函数名(参数):
""" 说明⽂档的位置 """
代码
......
查看函数的说明⽂档
help(函数名)
5.2 示例代码
def sum_num(a, b):
""" 求和函数 """
return a + b
help(sum_num)
运行结果:
所谓函数嵌套调⽤指的是
⼀个函数⾥⾯⼜调⽤了另外⼀个函数
。
示例代码:
def testB():
print('---- testB start----')
print('这⾥是testB函数执⾏的代码...(省略)...')
print('---- testB end----')
def testA():
print('---- testA start----')
testB()
print('---- testA end----')
testA()
运行效果:
执⾏流程:
如果函数A
中,调⽤了另外⼀个函数
B
,那么先把函数
B
中的任务都执⾏完毕之后才会回到上次 函数A
执⾏的位置。
7. 函数应⽤
7.1 打印图形
1.
打印⼀条横线
def print_line():
print('-' * 20)
print_line()

2.
打印多条横线
def print_line():
print('-' * 20)
def print_lines(num):
i = 0
while i < num:
print_line()
i += 1
print_lines(5)

1.
求三个数之和
def sum_num(a, b, c):
return a + b + c
result = sum_num(1, 2, 3)
print(result) # 6
2.
求三个数平均值
def sum_num(a, b, c):
return a + b + c
def average_num(a, b, c):
sumResult = sum_num(a, b, c)
return sumResult / 3
result = average_num(1, 2, 3)
print(result) # 2.0