python_函数

一、函数介绍
组织好的,可重复使用的,用来实现特定功能的代码段
例如:len() 函数--Python内置函数
# 已组织好的、可重复使用,针对特定功能
def my_len(data):
    count = 0
    for i in data:
        count += 1
    print(f"字符串{data}的长度是{count}")
为了得到针对特定需求,可重复利用的代码段;提高程序的复用性,减少重复代码,提高开发效率
二、函数的定义
def 函数名(传入参数):
    函数体
    return 返回值
目前主要看以上三部分(注意引号和缩进)使用函数时要调用
函数名(参数
函数必须先定义再调用 
三、函数的传参
传入参数的功能是:在函数进行计算时,接收外部(调用时)提供的数据
# 传参函数 两数相加
def add(x,y):
    re = x + y
    print(f"{x}和{y}的和为{re}")
# 调用函数,传入要计算的两个数字
add(12333,23321)
输出:
12333和23321的和为35654
函数定义,提供的x和y,称之为形式参数(形参),表示函数声明要使用两个参数
  • 参数之间使用逗号分隔
函数调用,提供的12333,23321称之为实际参数(实参),表示函数执行时真正使用的参数值
  • 传入的时候,按照顺序传入数据,使用逗号分隔
函数-传入参数是不受限制的:
可以不适用参数
也可以是N个
但是调用时候的 实参和形参要一一对应
# 传参函数案例 定义一个函数,名称不限定,接受一个参数传入(数字类型,表示体温)
# 在函数内进行体温判断 判断值 37.3度
def check_t(data:float):
    print("欢迎来到游乐园,请出示您的的健康码以及72小时核酸证明,并配合测量体温!")
    if data <= 37.3:
        print(f"体温测量中,您的体温是{data},体温正常请进!")
    else :
        print(f"体温测量中,您的体温是{data},需要隔离!")
四、函数的返回值
1、什么是返回值:程序中函数执行完成后,返回给调用者的结果
定义语法:
如图,变量就能接收到函数的返回值
语法就是:通过return关键字,就能向调用者返回数据
# 定义一个函数 完成两数相加 并且通过返回值将相加的结果返回给调用者
def add(x,y):
  #  res =
    return x + y
    print("ffjj") # 不会执行--函数体遇到return关键字,表明函数在此结束了 return之后的内容不会执行
2、函数返回值---None类型
如果函数没有使用return语句返回数据,函数也是有返回值的
无返回值的函数,实际上是返回了:None这个字面量
Python中有一个特殊字面量:None,其类型就是:<class'NoneType'>
None的使用场景
1.结合if判断--None--False
2.用于声明无内容的变量 --定义变量,暂时不需要变量取值,可以用None代替
3.函数返回值
五、函数说明文档  --通过注释对函数进行解释说明
通过多行注释,给函数添加说明文档,一般写在函数体之前
def add(x,y):
    """
    说明函数作用:
      :param x:形参1
      :param y:形参2
      :return:两数相加的和
    """
    return x + y
调用函数时,鼠标悬停在函数名上会显示函数说明文档
六、函数的嵌套调用
一个函数里面调用了另一个函数
执行流程
函数A中执行到调用函数B的语句,会讲函数B全部执行完成后,继续执行函数A的剩余内容
# 函数嵌套
def fun1():
    print("--2--")

def fun2():
    print("--1--")
    # 嵌套调用fun1
    fun1()
    print("--3--")
# 调用fun2
fun2()
输出:
--1--
--2--
--3--
七、变量在函数中的作用域
1.局部变量:出了定义它的函数体就无法继续使用
2.全局变量:在函数体内,体外都可以生效的变量
3.global关键字
使用global关键字可以将函数内定义的变量声明为全局变量
语法: global 变量
八、函数综合案例
实现ATM功能
实现的效果:
代码如下
# 实现ATM
# 定义一个全局变量,记录银行卡余额
money = 5000000
# 定义一个全局变量,记录客户姓名(程序启动时输入)
name = input("请输入您的姓名:")
# 定义如下函数:
# 1、查询余额函数
def check_m(show_header):
    if show_header:
        print("----------------查询余额--------------")
    print(f"{name},您好,您的余额剩余:{money}元。\n")

# 2、定义存款函数
def save_m(num):
    global money # 将money在函数内部定义为全局变量,可修改值
    money += num
    print("----------------存款-----------------")
    print(f"{name},您好,您存款50000元成功")
    check_m(False)  # 调用查询函数来查询

# 3、定义取款函数
def get_m(num):
    global money
    money -= num
    print("----------------取款-----------------")
    print(f"{name},您好,您取款50000元成功")
    check_m(False)  # 调用查询函数来查询

# 4、主菜单函数:
def main_m():
    print("-----------------主菜单----------------")
    print(f"{name},您好,欢迎来到bearATM,请选择操作")
    print("查询余额\t[输入1]")
    print("存款\t\t[输入2]")
    print("取款\t\t[输入3]")
    print("退出\t\t[输入4]")
    return input("请输入您的选择:")

# 设置无限循环,确保程序不会退出
while True:
    key_bord=main_m()
    if key_bord == "1":
        check_m(True)
        continue # 确保查询余额、取款、存款后返回主菜单
    elif key_bord == "2":
        save_num = int(input("您想要存多少钱?请输入:"))
        save_m(save_num)
        continue
    elif key_bord == "3":
        get_num = int(input("您想要取多少钱?请输入:"))
        if get_num > money:
            print("余额不足!")
        else:
            get_m(get_num)
        continue
    else:
        print("程序退出啦!")
        break # 通过break跳出循环 退出

------------------------------------------------------------------------------------------------原创笔记,转载注明出处

---------------------------------------------------------------------------------------------------------------#springbear#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值