- """
- def 函数名(传入参数):
- 函数体
- return 返回值
- """
- """
- 函数名(传入参数)
- """
例子:
- # 不带参
- def check():
- print("欢迎光临\n请进")
- check()
-
-
- #带参
- def he(m, n): # 形参
- result = m + n
- print(f"{m}+{n}={result}")
- he(109, 2) # 实参
- """
- def 函数名(传入参数):
- 函数体
- return 返回值
- 变量 = 函数(参数)
- """
例子:
- def add(a, b):
- result = a + b
- return result
- print("1") # return后面的语句不能执行
-
-
- r = add(3, 1)
- print(r)
如果函数没有使用return语句返回数据,那么函数有返回值吗? 实际上是:有的。 Python中有一个特殊的字面量: None,其类型是:无返回值的函数,实际上就是返回了: None这个字面量
例如:
- def say_hi():
- print("你好")
- result = say_hi()
- print(result) # None
- print(f"{type(result)}") #
- """
- None类型的应用场景
- None作为一个特殊的字面量,用于表示:空、无意义,其有非常多的应用场景。
- 1.用在函数无返回值上
- 2.用在if判断上
- 在if判断中,None等同于False
- 一般用于在函数中主动返回None,配合if判断做相关处理
- 3.用于声明无内容的变量上
- 定义变量,但暂时不需要变量有具体值,可以用None来代替
- #暂不赋予变量具体值
- name = None
- """
- # 用在函数无返回值上
- def say_hi2():
- print("你好")
- return None
- result2 = say_hi2()
- print(result2) # None
- print(f"{type(result2)}") #
-
-
- # None用于if判断
- def check_age(age):
- if age > 18:
- return "SUCCESS"
- else:
- return None
-
-
- result3 = check_age(16)
- if not result3:
- print("未成年")
-
- # None用于声明无初始内容的变量
- name = None
函数作用域:
- num1 = 100 # 全局变量
- def a():
- num2 = 200 # 局部变量
- print(num1) # 函数内能使用 全局 变量
- print(num2) # 函数内能使用 局部 变量
- a()
- print(num1) # 函数外 可以 使用 全局 变量
- # print(num2 # 函数外 不能 使用 局部 变量
在函数内修改全局变量----局部与全局互不影响
- num = 100 # 全局变量
- def a1():
- num = 200 # 局部变量,不会影响全局变量
- print(num)
- a1()
- print(num) # 100
若要在函数内声明变量为全局变量 ---使用global
- num = 100
- def a2():
- global num
- num = 200
- print(num)
- a2()
- print(num)
总结小案例:
- name = input("请输入你的姓名")
- money = 10000000
- # 查询
- 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(num1):
- global money
- money -= num1
- print("------取款-------")
- print(f"{name},您取款{num1}元成功")
- 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 # 通过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