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