一、函数的作用 函数就是将一段具有独立功能的代码块融合到一个整体并命名,在需要的位置调用这个名称即可完成对应的需求。 函数在开发过程中,封装代码,可以更高效地实现代码重用。
2.1 定义函数 def 函数名(参数): 代码1 代码2 ……
2.2 调用函数 函数名(参数)
注意: 1、不同的需求,参数可有可无。 2、在Python中, 函数必须先定义再调用。
需求:复现ATM取钱功能。
# 1. 搭建整体框架 ''' 输入密码登录后显示功能; 查询余额后显示功能; 取完钱后显示功能 ''' print('恭喜您登录成功') # 显示功能界面 print('您的余额是10000000') # 显示功能界面 print('取了100元钱') # 显示功能界面 # 2. 确定选择功能界面: 显示余额 存款 取款 print('显示余额') print('存款') print('取款') # 3. 封装函数 # 4. 在需要的位置调用函数pycharm技巧:选中一行(或几行)代码按Tab键可实现缩进。
# 因为函数要先定义再调用,所以步骤2、3要在步骤1的上面书写 # 2. 确定选择功能界面: 显示余额 存款 取款 # 3. 封装函数 def sel_func(): print('显示余额') print('存款') print('取款') # 1. 搭建整体框架 ''' 输入密码登录后显示功能; 查询余额后显示功能; 取完钱后显示功能 ''' print('恭喜您登录成功') # 显示功能界面 # 4. 在需要的位置调用函数 sel_func() print('您的余额是10000000') # 显示功能界面 # 4. 在需要的位置调用函数 sel_func() print('取了100元钱') # 显示功能界面 # 4. 在需要的位置调用函数 sel_func()函数的注意事项: 1、函数先定义后调用,如果先调用会报错 2、如果没有调用函数,函数里面的代码不会执行 2、函数执行流程: 当调用函数的时候,解释器会到定义函数的地方去执行下方缩进的代码,当这些代码执行完,回到调用函数的地方继续向下执行; 定义函数的时候,函数体内部缩进的代码并没有执行;
三、函数的参数作用 函数的参数写法有好几种,目前先学习最简单的。 函数调用时候指定的数字和定义函数时候接收的数字即是函数的参数。 函数的参数:函数调用的时候可以传入真实数据,增大函数的使用的灵活性。 形参:函数定义时候书写的参数(非真实数据) 实参:函数调用时书写的参数(真实数据)
def add_num2(a, b): # 占位符,形参 result = a + b print(result) add_num2(10, 20) # 实参 add_num2(100, 200) # add_num2(100) # TypeError: add_num2() missing 1 required positional argument: 'b' 报错:定义函数有2个参数,传入数据也要有2个。四、函数的返回值作用 return返回结果给函数调用的地方。 return作用: 1、负责函数返回值; 2、退出当前函数:导致return下方的所有代码(函数体内容)不执行。 语法:return 表达式
def sum_num(a, b): return a + b result = sum_num(1, 2) print(result)五、函数的说明文档(也叫函数的文档说明)
help(len) # help函数作用:查看函数的说明文档(函数的解释说明的信息)语法: 定义函数的说明文档 def 函数名(参数): ‘’’ 说明文档的位置 ‘’’ 代码 ……
查看函数的说明文档 help(函数名)
# 函数的说明文档的高级使用 def sum_num1(a, b): ''' 求和函数sum_num1 :param a: 参数1 :param b: 参数2 :return: 返回值 ''' return a + b help(sum_num1)六、函数嵌套调用 一个函数内部嵌套调用另外一个函数。
# 打印一条横线 def print_line(): print('_' * 20) print_line() # 打印多条横线 def print_lines(num): i = 0 while i < num: print_line() i += 1 print_lines(5) # 求三个数的和 def sum_num(a, b, c): return a + b + c result = sum_num(1, 2, 3) print(result) # 6 # 求三个数平均值 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