黑马程序员|8天Python第5章函数

一 函数介绍

1.函数是什么

组织好的、可重复使用的、用来实现特定功能的代码段。

input(),print(),str(),int()都是内置函数。 

2.函数的使用

 
3.函数的作用

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

1.已组织好的

2.可重复使用

3.针对特定功能



二 函数的定义

函数就像电吹风,通电才能工作。

函数就是工具,通电是调用这个函数(使用这个工具)。 


三 函数的参数

1.参数的作用

在函数进行计算的时候,接受外部(调用时)提供的数据。

2.参数的使用方式

 

3.注意事项 

 

4.课程练习

 


四 函数的返回值

1.函数返回值的定义

使用关键字 return 来返回结果。

函数体在遇到 return 后就结束了,所以写在 return 后的代码不会执行。

2.None类型

什么是None

函数如何返回None 

 

 

使用场景

 

 

 if 判断是true才能执行 但是result是false 所以要把他变成true。



五 函数说明文档

 



六 函数的嵌套调用

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



七 变量的作用域

1.局部变量

作用范围在函数内部,在函数外部无法使用。


2.全局变量

在函数内部和外部均可使用。

3.global关键字

将函数内定义的变量声明为全局变量。

 global num 的前提是在函数外面定义了num = 100。



八 综合案例

 初始代码:

money = 5000000
name = input("请输入您的姓名:")


#分函数4个
#分函数1
def surplus():
    print("--------查询余额--------")
    print(f"{name},您好,您的余额是:{money}元")

#分函数2
def savings():
    print("--------存款--------")
    money_savings = int(input(f"请输入您要存的金额:"))
    print(f"{name},您好,您存款{money_savings}元成功")
    global money
    money += money_savings
    surplus()

#分函数3
def take():
    print("--------取款--------")
    surplus()
    money_take = int(input(f"请输入您要取款的金额:"))
    print(f"{name},您好,您取款{money_take}元成功")
    global money
    money -= money_take
    surplus()


#主函数
def menu():
    print("--------主菜单--------")
    print(f"{name},您好,欢迎来到黑马银行ATM。请选择操作:")
    print("查询余额\t【输入1】\n存款\t\t【输入2】\n取款\t\t【输入3】\n退出\t\t【输入4】\n")
    num = int(input("请输入您的选择:"))
    if num == 1:
        surplus()
        menu()
    elif num == 2:
        savings()
        menu()
    elif num == 3:
        take()
        menu()
    else:
        print("程序结束!")

menu()

总结:

1.global要写在函数里面,不能写在外面。

2.global num = int(input("请输入要存的金额:")) 是错的,

global num ; num =   int(input("请输入要存的金额:"))  是对的。

3.分函数2中global money,但是分函数3中也使用了money,也要在分函数3中global money。不然分函数3中的money和分函数2中global money,也就是全局的money是不同的变量,前者是形参,后者是实参。

4.下图为视频的示例代码,通过取款函数的传参可以在查询余额的时候不打印-----查询余额--------这行。

 5.两个制表符

6.用 return 返回到外面进行判断,不是在函数里面判断。下图为视频的示例代码。

 

7.重点

是True不是true。

示例代码中有continue,但是可以没有。

 

8. 如果函数定义的时候有传参,那就一定要传参才能正确调用。

 修改后的代码:

money = 5000000
name = input("请输入您的姓名:")



#分函数4个
#分函数1
def surplus(x):
    if x:
        print("--------查询余额--------")
    print(f"{name},您好,您的余额是:{money}元")

#分函数2
def savings():
    print("--------存款--------")
    money_savings = int(input(f"请输入您要存的金额:"))
    print(f"{name},您好,您存款{money_savings}元成功")
    global money
    money += money_savings
    surplus(False)

#分函数3
def take():
    print("--------取款--------")
    surplus(False)
    money_take = int(input(f"请输入您要取款的金额:"))
    print(f"{name},您好,您取款{money_take}元成功")
    global money
    money -= money_take
    surplus(False)


#主函数
def menu():
    print("--------主菜单--------")
    print(f"{name},您好,欢迎来到黑马银行ATM。请选择操作:")
    print("查询余额\t【输入1】\n存款\t\t【输入2】\n取款\t\t【输入3】\n退出\t\t【输入4】\n")
    n = int(input("请输入您的选择:"))
    return n


while True:
    num = menu()
    if num == 1:
        surplus(True)

    elif num == 2:
        savings()

    elif num == 3:
        take()

    else:
        print("程序结束!")
        break

  • 12
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值