• Python---函数


    函数定义:

    1. """
    2. def 函数名(传入参数):
    3. 函数体
    4. return 返回值
    5. """

    函数调用:

    1. """
    2. 函数名(传入参数)
    3. """

    例子:

    1. # 不带参
    2. def check():
    3. print("欢迎光临\n请进")
    4. check()
    5. #带参
    6. def he(m, n): # 形参
    7. result = m + n
    8. print(f"{m}+{n}={result}")
    9. he(109, 2) # 实参

    函数返回值:

    1. """
    2. def 函数名(传入参数):
    3. 函数体
    4. return 返回值
    5. 变量 = 函数(参数)
    6. """

    例子:

    1. def add(a, b):
    2. result = a + b
    3. return result
    4. print("1") # return后面的语句不能执行
    5. r = add(3, 1)
    6. print(r)
    如果函数没有使用return语句返回数据,那么函数有返回值吗?
    实际上是:有的。
    Python中有一个特殊的字面量: None,其类型是:无返回值的函数,实际上就是返回了: None这个字面量

     例如:

    1. def say_hi():
    2. print("你好")
    3. result = say_hi()
    4. print(result) # None
    5. print(f"{type(result)}") #

    None的使用场景:

    1. """
    2. None类型的应用场景
    3. None作为一个特殊的字面量,用于表示:空、无意义,其有非常多的应用场景。
    4. 1.用在函数无返回值上
    5. 2.用在if判断上
    6. 在if判断中,None等同于False
    7. 一般用于在函数中主动返回None,配合if判断做相关处理
    8. 3.用于声明无内容的变量上
    9. 定义变量,但暂时不需要变量有具体值,可以用None来代替
    10. #暂不赋予变量具体值
    11. name = None
    12. """
    1. # 用在函数无返回值上
    2. def say_hi2():
    3. print("你好")
    4. return None
    5. result2 = say_hi2()
    6. print(result2) # None
    7. print(f"{type(result2)}") #
    8. # None用于if判断
    9. def check_age(age):
    10. if age > 18:
    11. return "SUCCESS"
    12. else:
    13. return None
    14. result3 = check_age(16)
    15. if not result3:
    16. print("未成年")
    17. # None用于声明无初始内容的变量
    18. name = None

    函数作用域:局部变量与全局变量

    函数作用域:

    1. num1 = 100 # 全局变量
    2. def a():
    3. num2 = 200 # 局部变量
    4. print(num1) # 函数内能使用 全局 变量
    5. print(num2) # 函数内能使用 局部 变量
    6. a()
    7. print(num1) # 函数外 可以 使用 全局 变量
    8. # print(num2 # 函数外 不能 使用 局部 变量
    在函数内修改全局变量----局部与全局互不影响
    1. num = 100 # 全局变量
    2. def a1():
    3. num = 200 # 局部变量,不会影响全局变量
    4. print(num)
    5. a1()
    6. print(num) # 100
    若要在函数内声明变量为全局变量  ---使用global
    1. num = 100
    2. def a2():
    3. global num
    4. num = 200
    5. print(num)
    6. a2()
    7. print(num)

    总结小案例

    1. name = input("请输入你的姓名")
    2. money = 10000000
    3. # 查询
    4. def query(show_header):
    5. if show_header:
    6. print("-------查询余额-------")
    7. print(f"{name}您好,您的余额剩余:{money}元")
    8. # 存款
    9. def saving(num):
    10. global money
    11. money += num
    12. print("------存款-------")
    13. print(f"{name},您存款{num}元成功")
    14. query(False)
    15. # 取款
    16. def get_money(num1):
    17. global money
    18. money -= num1
    19. print("------取款-------")
    20. print(f"{name},您取款{num1}元成功")
    21. query(False)
    22. # 主菜单
    23. def main():
    24. print("----------主菜单------------")
    25. print(f"{name},您好,欢迎来到银行ATM,请选择操作")
    26. print("查询余额\t[输入1]")
    27. print("存款\t\t[输入2]")
    28. print("取款\t\t[输入3]")
    29. print("退出\t\t[输入4]")
    30. return input("请输入你的选择")
    31. while True:
    32. keyboard_input = main()
    33. if keyboard_input == "1":
    34. query(True)
    35. continue # 通过continue继续下一次循环
    36. elif keyboard_input == "2":
    37. num = int(input("请输入存的金额:")) # 默认字符串
    38. saving(num)
    39. continue
    40. elif keyboard_input == "3":
    41. num = int(input("请输入取款金额:"))
    42. get_money(num)
    43. continue
    44. else:
    45. print("退出")
    46. break

  • 相关阅读:
    frontiers期刊论文版面费缴纳流程(截止发文全网最详细hhh)
    java 实现一个最小栈
    Linux - grep命令详解
    2022-08-15 - 初识MySQL
    木耳炒什么好吃 木耳的做法
    基于Python的热门音乐特征数据分析
    苹果爆出台积电及三星3纳米制程良率远低于60% | 百能云芯
    Java基础项目~用户管理系统
    IC验证覆盖率
    浅析Easy Rules规则引擎以及示例
  • 原文地址:https://blog.csdn.net/weixin_52053631/article/details/132592356