-
函数定义

-
调用函数
| 参数如不需要,可以省略 |
| 返回值如不需要,可以省略 |
| 函数必须先定义后使用 |
| |
| def say_hi(): |
| print("Hi 我是黑马程序员,学Python来黑马") |
| |
| |
| say_hi() |
| |
| def add(x, y, z): |
| result = x + y + z |
| print(f"{x} + {y} + {z}的计算结果是:{result}") |
| |
| |
| add(5, 6, 7) |
| 函数定义中的参数,称之为形式参数 |
| 函数调用中的参数,称之为实际参数 |
| 函数的参数数量不限,使用逗号分隔开 |
| 传入参数的时候,要和形式参数一一对应,逗号隔开 |
| |
| def check(num): |
| |
| print("欢迎来到黑马程序员!请出示您的健康码以及72小时核酸证明,并配合测量体温!") |
| if num <= 37.5: |
| print(f"体温测量中,您的体温是:{num}度,体温正常请进!") |
| else: |
| print(f"体温测量中,您的体温是:{num}度,需要隔离!") |
| |
| |
| check(37.6) |
| |
| def add(a, b): |
| result = a + b |
| |
| return result |
| |
| print("我完事了") |
| |
| |
| r = add(5, 6) |
| print(r) |
| |
| def say_hi(): |
| print("你好呀") |
| |
| result = say_hi() |
| print(f"无返回值函数,返回的内容是:{result}") |
| print(f"无返回值函数,返回的内容类型是:{type(result)}") |
| |
| |
| def say_hi2(): |
| print("你好呀") |
| return None |
| |
| result = say_hi2() |
| print(f"无返回值函数,返回的内容是:{result}") |
| print(f"无返回值函数,返回的内容类型是:{type(result)}") |
| |
| |
| def check_age(age): |
| if age > 18: |
| return "SUCCESS" |
| else: |
| return None |
| |
| result = check_age(16) |
| if not result: |
| |
| print("未成年,不可以进入") |
| |
| |
| name = None |
| |
| def add(x, y): |
| """ |
| add函数可以接收2个参数,进行2数相加的功能 |
| :param x: 形参x表示相加的其中一个数字 |
| :param y: 形参y表示相加的另一个数字 |
| :return: 返回值是2数相加的结果 |
| """ |
| 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() |
| 局部变量的作用:在函数体内部,临时保存数据,即当函数调用完成后,则销毁局部变量 |
| |
| 全局变量,指的是在函数体内、外都能生效的变量 |
| |
| 使用 global关键字 可以在函数内部声明变量为全局变量 |
| |
| def test_a(): |
| num = 100 |
| print(num) |
| |
| test_a() |
| |
| print(num) |
| |
| |
| |
| |
| num = 200 |
| |
| def test_a(): |
| print(f"test_a: {num}") |
| |
| def test_b(): |
| print(f"test_b: {num}") |
| |
| test_a() |
| test_b() |
| print(num) |
| |
| |
| |
| |
| num = 200 |
| |
| def test_a(): |
| print(f"test_a: {num}") |
| |
| def test_b(): |
| num = 500 |
| print(f"test_b: {num}") |
| |
| test_a() |
| test_b() |
| print(num) |
| |
| |
| |
| |
| num = 200 |
| |
| def test_a(): |
| print(f"test_a: {num}") |
| |
| def test_b(): |
| global num |
| num = 500 |
| print(f"test_b: {num}") |
| |
| test_a() |
| test_b() |
| print(num) |
| |
| money = 5000000 |
| name = None |
| |
| name = input("请输入您的姓名:") |
| |
| def query(show_header): |
| if show_header: |
| print("-------------查询余额------------") |
| print(f"{name},您好,您的余额剩余:{money}元") |
| |
| |
| def saving(num): |
| global money |
| money += num |
| print("-------------存款------------") |
| print(f"{name},您好,您存款{num}元成功。") |
| |
| query(False) |
| |
| |
| def get_money(num): |
| global money |
| money -= num |
| print("-------------取款------------") |
| print(f"{name},您好,您取款{num}元成功。") |
| |
| 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 |
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术