第十二天 函数 |
一、函数的作用
1、函数:就是一段具有独立功能的代码1/2整合到一个整体并命名,
在需要的位置调用这个名称即可完成对应的需求
2、可以更高效的实现代码重用
二、函数的使用步骤
1、先定义
1、定义函数
1.def 函数(参数):
代码1
代码2
…
2、后调用
2、调用函数
函数名(参数)
注意:不同的需求,参数可有可无
在Python中,必须先定义后调用
命名:见名知意,数字,字母,下划线组成,不能数字开头,严格区分大小写,不能用内置关键字
3、快速体验
要求:输入密码登陆后显示功能、查询余额后显示功能、取完钱后显示功能
因为函数要先定义再调用,所以步骤2和3在步骤1的上面书写
# 2、确定选择功能界面(3个,工作中按需求)
# 3、封装函数
def sel_func():
print('显示余额')
print('存款')
print('取款')
# 1、搭建整体框架
print('恭喜您登陆成功')
# 显示功能界面# 4、在需要的位置调用函数
sel_func()
print('您的余额是1000000000')
# 显示功能界面# 4、在需要的位置调用函数
sel_func()
print('取了100元钱')
# 显示功能界面# 4、在需要的位置调用函数
sel_func()
# 4、在需要的位置调用函数
恭喜您登陆成功
显示余额
存款
取款
您的余额是1000000000
显示余额
存款
取款
取了100元钱
显示余额
存款
取款
4、函数的注意事项
总结:
1、如果先调用,会显示函数没有定义
2、只写定义函数,不写调用,函数里面的代码不会执行
3、函数的执行流程:
当调用函数的时候,解释器回到丁一函数的地方去执行下方缩进的代码,当这些代码执行完,回到调用函数的地方继续向下执行
定义函数的时候,函数体内部缩进的代码并没有执行
三、函数的参数作用
1带有参数可以完成指定的运算
使用参数会更加灵活!
1.1一个函数完成两个数1和2的加法运算(普通)
def add_num1():
result = 1 + 2
print(result)
add_num1()
1.2指定数字的运算(带有参数)
函数调用时,指定的数字是实参
函数定义时,接收的数字是形参
# 参数,用户可以传入真实的数据
# 定义函数时同时定义了接收用户数据的参数a和b,a和b是形参
def add_num2(a,b):
result = a + b
print(result)
# 调用函数时传入了真实的数据10和20,真实数据为实参
add_num2(10,20)
add_num2(100,200)
# add_num2(100) # 丢失参数add_num2() missing 1 required positional argument: 'b'
注意:定义函数和调用函数的数量要对应!!
四、函数的返回值作用
1、返回结果给用户使用
在函数中,需要返回结果给用户,则需要使用函数返回值
def buy():
return '烟'
# 使用变量保存函数返回值
goods = buy()
print(goods) # 烟
# print(buy()) # 也可
1.1注意
函数调用和函数返回值的区别:
函数调用的是函数定义的一个结果result;
函数返回值是,想要返回的数据,也可以返回一个结果
1.2案例
# 案例
def add_num1():
return 1 + 2
# 调用函数
print(add_num1()) # 3
2、return的特点
1、负责函数的返回值
2、退出当前函数:导致return下方的所有代码(函数体内部)不执行
3、return应用
需求:制作一个计算器,计算任意两数字之和,并保存结果
def sum_sum(a,b):
return a + b
# 用result变量保存函数返回值,并print打印函数
result = sum_sum(1,2)
print(result) # 3
五、函数的说明文档
1、函数的说明文档的作用:方便快速查找函数的作用!!!!
2、函数的说明文档也叫作函数的文档说明。
1、函数的说明文档的用法
help(函数名) # 查找函数的说明文档,即解释信息
help(len)
run后
Help on built-in function len in module builtins:
len(obj, /)
Return the number of items in a container.
Help on function sum_sum in module main:
2、定义自己创造的函数的说明文档
示例
def 函数名(参数):
"""说明文档的位置"""
# 多行注释,提示信息
代码
…
def sum_sum(a,b):
"""求和函数"""
return a + b
help(sum_sum)
run后,自定义函数的说明文档如下:
Help on function sum_sum in module main:
sum_sum(a, b)
求和函数
3、函数的说明文档的高级使用
1)先打出基本框架,然后点击回车即可出现参数,
def sum_sum1(a,b):
""""""
return a + b
…
2)填写定义、作用完毕后,
3)再调用help(函数名)
def sum_sum1(a,b):
"""
求和函数sum_sum1
:param a:参数1
:param b:参数2
:return:参数3
"""
return a + b
help(sum_sum1)
run后,自定义函数的说明文档如下:
Help on function sum_sum1 in module main:
sum_sum1(a, b)
求和函数sum_sum1
:param a:参数1
:param b:参数2
:return:参数3
六、函数的嵌套调用
函数嵌套调用指的是:一个函数里面又调用了另外一个函数
# 两个函数 testA和testB--在A里面嵌套调用B
def testB():
print('B函数开始-----')
print('B函数结束-----')
# A函数
def testA():
print('A函数开始-----')
# 嵌套调用testB()
testB()
print('A函数结束-----')
testA() # 调用函数,不是打印函数
结果是:
A函数开始-----
B函数开始-----
B函数结束-----
A函数结束-----
七、函数嵌套调用的应用
7.1打印图形
1、打印一条横线
# 1、打印一条横线
def print_line():
print('-'*20)
# print_line() # --------------------
2、函数嵌套调用,实现多条横线
# 1、打印一条横线
def print_line():
print('-'*20)
# 2、函数嵌套调用,实现多条横线
def print_lines(num):
i = 0
while i < num:
print_line()
i += 1
print_lines(5)
运行结果
--------------------
--------------------
--------------------
--------------------
--------------------
3、函数嵌套调用,快速打印5条****
# 3、打印5条****
def print_xin():
print('*'*3)
def print_xins(num):
i = 0
while i < num:
print_xin()
i += 1
print_xins(5)
运行结果
***
***
***
***
***
7.2函数计算
1、求三个数之和
def sum(a,b,c):
return a+b+c
result = sum(1,2,3)
print(result) # 6
# print(sum(2,2,1)) # 直接也可 5
2、求三个数的平均值
def sum(a,b,c):
return a+b+c
def average_sum(a,b,c):
sumResult = sum(a,b,c)
return sumResult/3
average_result = average_sum(1,2,3)
print(average_result) # 2.0
八、总结
1、函数的作用
封装代码,高效的代码重用
2、函数的使用步骤
定义函数
def 函数(参数):
代码1
代码2
…
调用函数
函数名(参数)
定义函数的说明文档
def 函数名(参数):
"""说明文档的位置"""
# 多行注释,提示信息
代码
…
3、函数的参数
函数调用的时候可以传入真实的数据,增大函数的使用的灵活性
形参:函数定义时书写的参数(非真实数据)
实参:函数调用时书写的参数(真实数据)
4、函数的返回值
作用:函数调用后,返回需要的计算结果
写法:return 表达式
5、函数的说明文档
作用:保存函数解释说明的信息
查看函数的说明文档
help(函数名)
定义自己创造的函数的说明文档
示例
def 函数名(参数):
"""说明文档的位置"""
# 多行注释,提示信息
代码
…
注意
写好基本框架,再回车,会显示出说明文档的参数,可以更加具体的去补充函数的说明