第十天 函数

GGBond
2024-11-23 / 0 评论 / 9 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2024年11月28日,已超过158天没有更新,若内容或图片失效,请留言反馈。

函数

定义:是组织好的,可重复使用的,用来实现特定功能的代码段
优点:

  1. 将功能封装在函数内,可供随时随地重复利用
  2. 提高复用性、开发效率

    定义语法

    函数的定义:

def 函数名(传入参数):

函数体
return 返回值      (可以省略)

函数的调用:
函数名(参数)

注意事项:

  1. 参数如果不需要,可以省略
  2. 返回值不需要,可以省略
  3. 函数必须先定义后使用
# 定义一个函数,输出相关信息
def say_hi():
    print("我是美女")
# 调用函数,让其工作
say_hi()

案例

定义一个函数,调用函数后可以输出以下欢迎语:
欢迎来到bake day
请出示您的健康码以及72小时核酸证明!

def check():
    print("欢迎来到bake day!\n请出示您的健康码以及72小时核酸证明!")
# 调用函数,让其工作
check()

函数的参数

传入参数

功能:在计算时,接受外部提供的数据
定义语法:
def 函数名(传入参数):

函数体
return 返回值
def add(x, y):
    result = x + y
    print(f" + {y}的结果是:{result}")
# 调用函数,让其工作
add(5, 6)
  1. 函数定义中,x和y称之为: 形式参数 ,表示函数声明将要使用2个参数
  2. 函数调用中,5和6称之为: 实际参数 ,表示函数执行时真正使用的参数值
  3. 通过逗号分离
    注意:
    传入参数的数量是不受限制的,可以不使用参数,也可以仅使用任意N个参数

    案例

    查核酸并测量体温

    # 定义一个函数,输出相关信息
    def check(num):
     print("欢迎来到bake day!\n请出示您的健康码以及72小时核酸证明!")
     if num <= 37.5:
         print(f"体温测量中,您的体温是:{num}度,体温正常请进")
     else:
         print(f"体温测量中,您的体温是:{num}度,需要隔离")
    # 调用函数,让其工作
    check(38)

    输出:
    欢迎来到bake day!
    请出示您的健康码以及72小时核酸证明!
    体温测量中,您的体温是:38度,需要隔离

函数的返回值

定义

语法:
def 函数(参数...):

函数体
return 返回值
def add(a, b):
    result = a + b
    # 通过返回值,将相加的结果返回给调用者
    return result
# 函数的返回值,可以通过变量去接受
r = add(5, 6)
print(r)

None类型

函数没有使用return语句返回数据,函数有返回值
特殊的字面量:None
无返回值的函数实际上是返回了:None这个字面量

None:空的、无实际意义的意思
函数返回的None就是返回了空的意思

应用

  1. 函数无返回值
  2. if判断
    在if中,None = False
    一般用于在函数中主动返回None,配合if判断做相关处理
  3. 声明无内容的变量上
    定义变量,但暂时不需要变量有具体值,可以用None来代替

    函数说明文档

    辅助理解函数

    语法:

    def func(x, y)
    '''
    函数说明
    :param x:形参x的说明
    :param y:形参y的说明
    :return:返回值的说明
    '''
    函数体
    return 返回值

    def add(x, y):
     """
     :param x:相加的数字1
     :param y:相加的数字2
     :return:返回相加的结果
     """
     result = x + y
     print(f"2数相加的结果是:{result}")
     return result
    
    add(5, 6)

    函数的嵌套调用

    定义:一个函数里面又调用了另外一个函数

    语法:

    def func_b():
    print("---2---")

def func_a():

print("---1---")

func_b()

print("---3---")

func_a()

变量的作用域

变量的作用范围
分类:局部变量和全局变量

局部变量

只在函数体内部生效
作用:在函数体内部,临时保存数据,

全局变量

在函数体内、外都能生效的变量
m418ygp9.png

global 关键字

可以在函数内部声明变量为全局变量

案例

m4197umc.png

money = 5000000
name = None
# 要求客户输入姓名
name = input("请输入您的姓名")
# 定义查询函数
def query(show_header):
    if show_header:
        print("-----查询余额-----")
    print(f"{name},您好,您的余额剩余:{money}元")

# 定义存款函数
def saving(num):
    global money
    money += money
    print("-----查询余额-----")
    print(f"{name},您好,您存款{num}元")
# 调用query函数查询余额
    query(False)

# 定义取款函数
def get_money(num):
    global money
    money -= num
    print("-----取款-----")
    print(f"{name},您好,您取款{num}元")
# 调用query函数查询余额
    query(False)
# 定义主菜单函数、
def main():
    print("-----主菜单-----")
    print(f"{name},您好,欢迎来到ATM,请选择操作:")
    print("查询余额\t[输入1]")
    print("存款\t\t[输入2]")
    print("取款\t\t[输入3]")
    print("退出\t\t[输入4]")
    return input("请输入您的选择:")
# 设置无限循环,确保不退出
while True:
    keyboard_input = main()
    if keyboard_input == "1":
        query(True)
        continue
    elif keyboard_input == "2":
        num = int(input("您想要存多少钱?请输入:"))
        saving(num)
        continue
    elif keyboard_input == "3":
        num = int(input("您需要多少钱?请输入"))
        get_money(num)
        continue
    else:
        print("程序退出啦")
        break

0

评论 (0)

取消