第五章:python函数

一、函数介绍

函数:是组织好的,可重复使用的,用来实现特定功能的代码段。

使用函数的好处是:将功能封装在函数内,可供随时随地重复利用,提高代码的复用性,减少重复代码,提高开发效率

二、函数的定义

def check():
    print('欢迎来到黑马程序员!\n请出示您的健康码以及72小时核酸证明')
check()

补充 \n 意思是换行

三、函数的参数

参数作用:在函数运行的时候,接受外部传入的数据。

案例:

# 定义函数,接收1个形式参数,数字类型,表示体温
def check(num):
    # 在函数体内进行判断体温
    print("欢迎来到黑马程序员!请出示您的健康码以及72小时核酸证明,并配合测量体温!")
    if num <= 37.5:
        print(f"体温测量中,您的体温是:{num}度,体温正常请进!")
    else:
        print(f"体温测量中,您的体温是:{num}度,需要隔离!")

# 调用函数,传入实际参数
check(37.6)

四、函数返回值

# 定义一个函数,完成2数相加功能
def add(a, b):
    result = a + b
    # 通过返回值,将相加的结果返回给调用者
    return result
    # 返回结果后,还想输出一句话,无法输出来
    print("我完事了")
# 函数的返回值,可以通过变量去接收
r = add(5, 6)
print(r)
  • None类型:None是类型’NoneType’的字面量,用于表示:空的、无意义的

  • None类型的应用场景

# 无return语句的函数返回值
def say_hi():
    print("你好呀")

result = say_hi()
print(f"无返回值函数,返回的内容是:{result}")
print(f"无返回值函数,返回的内容类型是:{type(result)}")

# 主动返回None的函数
def say_hi2():
    print("你好呀")
    return None

result = say_hi2()
print(f"无返回值函数,返回的内容是:{result}")
print(f"无返回值函数,返回的内容类型是:{type(result)}")
# None用于if判断
def check_age(age):
    if age > 18:
        return "SUCCESS"
    else:
        return None

result = check_age(16)
if not result:
    # 进入if表示result是None值 也就是False
    print("未成年,不可以进入")


# None用于声明无初始内容的变量
name = None

五、函数的说明文档

param用于解释参数 return用于解释返回值

六、函数的嵌套调用

  • 嵌套调用:在一个函数中,调用另外一个函数

  • 执行流程:函数A中执行到调用函数B的语句,会将函数B全部执行完成后,继续执行函数A的剩余内容

七、变量的作用域

  • 变量作用域:指的是变量的作用范围(变量在哪里可用,在哪里不可用)

  • 主要分为2类::

局部变量是定义在函数体内部的变量,即只在函数体内部生效

全局变量是在函数体内、外都能生效的变量

  • global关键字(可以在函数内部去修改全局变量)

综合案例

money = 500000
name = None
# 要求客户输入姓名
name = input('请输入您的姓名')
# 定义查询函数
def query(show_header):
    if show_header:
        print('-------查询余额-------')
    print(f'{name},您好,您的余额剩余:{money}元')
# 定义取款函数
def get_money(num):
    global  money
    money -= num
    print('-------取款-------')
    # 调用query函数查询余额
    query(False)

# 定义存款函数
def save_money(num):
    global money
    money += num
    print('-------存款-------')
    # 调用query函数查询余额
    query(False)

def mian():
    print('-------主菜单-------')
    print(f'{name},您好欢迎来到ATM,请选择操作:')
    print('查询余额\t[输入1]')
    print('取款\t\t[输入2]')
    print('存款\t\t[输入3]')   # 通过\t制表符来对齐输出
    print('退出\t\t[输入4]')
    return  input('请输入您的选择:')

# 设置无限循环,确保程序不退出
while True:
    keyword_input = mian()
    if keyword_input == '1':
        query(True)
        # 通过continue继续下一次循环,一进来就是回到了主菜单
        continue
    elif keyword_input == '2':
        num = int(input('你想要存多少钱,请输入:'))
        save_money(num)
        continue
    elif keyword_input == '3':
        num = int(input('你想要取多少钱,请输入:'))
        get_money(num)
        continue
    else:
        print('程序退出')
        break
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值