九 Python之函数

⼀. 函数的作⽤

需求:⽤户到ATM机取钱:

  1. 输⼊密码后显示"选择功能"界⾯
  2. 查询余额后显示"选择功能"界⾯
  3. 取2000钱后显示"选择功能"界⾯

特点:显示“选择功能”界⾯需要重复输出给⽤户,怎么实现?

在这里插入图片描述
函数就是将⼀段具有独⽴功能的代码块整合到⼀个整体并命名,在需要的位置调⽤这个名称即可完成对应的需求。

函数在开发过程中,可以更⾼效的实现代码重⽤。

⼆. 函数的使⽤步骤

2.1 定义函数

def 函数名(参数):
	代码1
	代码2
 ......

2.2 调⽤函数

调用格式

函数名(参数)

注意:

  1. 不同的需求,参数可有可⽆。
  2. 在Python中,函数必须先定义后使⽤。

2.3 快速体验

需求:复现ATM取钱功能。

  1. 搭建整体框架(复现需求)
print('密码正确登录成功')
# 显示"选择功能"界⾯

print('查询余额完毕')
# 显示"选择功能"界⾯

print('取了2000元钱')
# 显示"选择功能"界⾯
  1. 确定“选择功能”界⾯内容
print('查询余额')
print('存款')
print('取款')
  1. 封装"选择功能"

注意:⼀定是先定义函数,后调⽤函数。

# 封装ATM机功能选项 -- 定义函数
def select_func():
	print('-----请选择功能-----')
	print('查询余额')
	print('存款')
	print('取款')
	print('-----请选择功能-----')
  1. 调⽤函数

在需要显示“选择功能”函数的位置调⽤函数。

print('密码正确登录成功')
# 显示"选择功能"界⾯ -- 调⽤函数
select_func()

print('查询余额完毕')
# 显示"选择功能"界⾯ -- 调⽤函数
select_func()

print('取了2000元钱')
# 显示"选择功能"界⾯ -- 调⽤函数
select_func()

三.函数的参数作⽤

思考:完成需求如下:⼀个函数完成两个数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)

四.函数的返回值作⽤

例如:我们去超市购物,⽐如买烟,给钱之后,是不是售货员会返回给我们烟这个商品,在函数中,如果需要返回结果给⽤户需要使⽤函数返回值。

def buy():
	return '烟'
	
# 使⽤变量保存函数返回值
goods = buy()
print(goods)

应⽤
需求:制作⼀个计算器,计算任意两数字之和,并保存结果

def sum_num(a, b):
	return a + b
 
# ⽤result变量保存函数返回值
result = sum_num(1, 2)
print(result)

五.函数的说明⽂档

思考:定义⼀个函数后,程序员如何书写程序能够快速提示这个函数的作⽤?

答:注释

思考:如果代码多,我们是不是需要在很多代码中找到这个函数定义的位置才能看到注释?如果想更⽅便的查看函数的作⽤怎么办?
答:函数的说明⽂档

函数的说明⽂档也叫函数的⽂档说明。

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.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)

在这里插入图片描述

7.2 函数计算

  1. 求三个数之和
def sum_num(a, b, c):
	return a + b + c
	
result = sum_num(1, 2, 3)
print(result) # 6
  1. 求三个数平均值
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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

麦芽糖0219

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值