Python-11-函数基础

函数基础

一、函数的作用

  • 简单案例:ATM项目存款、取款、查询余额
# 存款的代码
print('---存款--')
# 跳转到主页
print(' 欢迎使用WoniuATM '.center(48, '*'))
print(' 1.存款 2.取款 3.查询 4.退卡 '.center(46, '*'))
pirnt('*' * 50)

# 取款的代码
print('---取款---')
# 跳转到主页
print(' 欢迎使用WoniuATM '.center(48, '*'))
print(' 1.存款 2.取款 3.查询 4.退卡 '.center(46, '*'))
pirnt('*' * 50)

# 查询的代码
print('---取款---')
# 跳转到主页
print(' 欢迎使用WoniuATM '.center(48, '*'))
print(' 1.存款 2.取款 3.查询 4.退卡 '.center(46, '*'))
pirnt('*' * 50)
  • 函数的复用性:当程序中有重复代码时,可以考虑将这些代码使用函数进行封装。当需要使用这些代码,只要调用封装好的函数即可。这个就是函数的复用性

二、函数的使用步骤

2.1 使用函数解决ATM代码重复的问题

# 定义一个主页函数
def func():
    print(' 欢迎使用WoniuATM '.center(48, '*'))
    print(' 1.存款 2.取款 3.查询 4.退卡 '.center(46, '*'))
    print('*' * 50)

# 存款的代码
print('---存款--')
# 跳转到主页
func()			# 函数的调用

# 取款的代码
print('---取款---')
# 跳转到主页
func()			# 函数的调用

# 查询的代码
print('---查询---')
# 跳转到主页
func()			# 函数的调用

2.2 函数的定义

  • 语法
def 函数名(参数1, ..,参数n):
    函数体
    return 	数据对象(或变量,或表达式)

函数名:必须满足标识符的命名规则,建议使用小写字母,单词之间使用下划线分隔;

形式参数:根据需求不同,可以有多个,也可以没有;

函数体:可以使用三种程序结构,也可以调用另一个函数;

返回值:可以不写,默认返回None。

  • 简单的代码
def func():
    pass

2.3 函数的调用

函数必须先定义,再调用!

# 定义函数
def func(a):
    print(a)

# 调用函数
func(11)				# 11

函数的调用相当于将函数的代码执行一遍,并将结果返回给调用者。

三、参数的作用

函数定义中的参数,相当于函数空间内的变量

  • 案例:使用函数计算2+3的结果
# 定义一个2+3的函数
def sum_():
    print(2 + 3)

# 调用函数计算2+3
sun_()				# 5
  • 加需求:使用函数计算任意两个整数的和
# 定义函数
def sum_(a, b):
    print(a + b)
    
# 调用函数
sum_(2, 3)			# 5

参数的定义:

  • 将事物相同的特性写入到函数体中;
  • 将不同的特性定义到函数的参数中。

四、返回值的作用

一个函数必须要有一个返回值,如果没有return则返回None

调用者只不需要关心函数体,…只需要关注函数的功能、函数的入参、函数的返回值

  • 案例:一个人到商店买水杯,顾客需要关注水杯的功能、价格、店主是否给想要的水杯。
# 定义一个买水杯的函数
def func(money):
    """ 函数的功能:卖水杯 """
    print('制造水杯')
    print('运输水杯')
    return f'一个{money}块钱的水杯'

# 调用函数
func(20)

# 打印返回值
print(func(20))			# 一个20块钱的水杯

函数的调用者只需要关注函数的功能、入参、返回值。

函数体的代码不需要关注。

五、函数的说明文档

  • 说明文档,也叫文档说明,在函数定义定义语句的下方。

  • 必须使用三对引号包裹,代码执行时会跳过说明文档,相当于注释。

  • 基本使用
# 定义一个求和函数
def sum_(a, b):
    """ 这个函数是一个两数求和函数 """
	print(a + b)
    
# 获取函数的说明文档
help(sum_)

''' 输出结果:
Help on function sum_ in module __main__:

sum_(a, b)
    这个函数是一个两数求和函数
'''
  • 高级使用
# 定义一个求和函数
def sum_(a, b):
    """
    这是一个两数求和函数
    :param a: 求和函数的第一个参数,必须传入整数
    :param b: 求和函数的第二个参数,必须传入整数
    :return: 返回两数之和
    """
    return a + b

# 查看函数的说明文档
help(sum_)

''' 输出结果:
Help on function sum_ in module __main__:

sum_(a, b)
    这是一个两数求和函数
    :param a: 求和函数的第一个参数,必须传入整数
    :param b: 求和函数的第二个参数,必须传入整数
    :return: 返回两数之和
'''

六、函数的嵌套调用

函数的嵌套,指的是在一个函数中调用另外一个函数。

# 定义函数A
def func_a():
    print('---在A中调用B之前---')
    func_b()
    print('---在A中调用B之后---')

# 定义函数B
def func_b():
    print('---在B中第一行语句---')
    print('---func_b的函数体---')
    print('---在B中最后一行语句---')
    
# 调用函数A
func_a()

以上代码中,函数的定义顺序无所谓,只要函数的定义在调用函数之后 即可。

七、案例

  • 使用函数的嵌套打印多条横线,横线的条线可按
# 定义函数打印一条横线
def func1():
    print('-' * 50)
    
    
# 定义函数,打印多条横线,横线条线可控
def func2
  • 求三个数的平均值,必须使用两个函数进行嵌套
def sum_(a, b, c):
    return a + b + c

def avg_(a, b, c):     # 此函数需要调用sum_函数
    # 三个数求和
    x = sum_(a, b, c)
    # 将和除以3
    return x / 3


y = avg_(1, 2, 3)       # 平均值
print(y)				# 打印返回值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值