师从黑马程序员
函数初体验
str1="asdf"
str2="qewrew"
str3="rtyuio"
def my_len(data):
count=0
for i in data:
count+=1
print(f"字符串{data}的长度是{count}")
my_len(str1)
my_len(str2)
my_len(str3)
函数的定义
函数的调用
函数名(参数)
def say_hi():
print("学Python来黑马")
say_hi()
say_hi()
注:参数如不需要,可以省略
返回值如需要,可以省略
函数必须先定义后使用
案例:
def check_nuac():
print("欢迎来到黑马程序员!")
print("请出示您的健康码以及72小时核酸证明")
check_nuac()
函数的参数
def add(x,y):
result=x+y
print(f"{x}+{y}的计算结果是:{result}")
add(7,8)
注:函数参数个数没有限制
def check(temperature):
if temperature<37.5:
print(f"体温测量中,您的体温是{temperature}度,体温正常请进")
else:
print(f"体温测量中,您的体温是{temperature}度,需要隔离")
check(37.3)
check(39.3)
函数返回值
语法:
def add(a,b):
result=a+b
return result
r=add(5,6)
print(f"r={r}")
注:return后的语句不会被执行
函数返回值之none
None类型的应用场景
#无return语句的函数返回值
def say_hi():
print("你好呀")
result=say_hi()
print(f"无返回值函数,返回的内容是:{result}")
print(f"无返回值函数,返回的内容是:{type(result)}")
#主动返回None的函数
def say_hi2():
print("你好呀")
return None
result=say_hi2()
print(f"无返回值函数,返回的内容是:{result}")
print(f"无返回值函数,返回的内容是:{type(result)}")
#None在if中的使用场景
def check_age(age):
if age>18:
return "SUCCESS"
else:
return None
result=check_age(16)
if not result:
print("未成年,不可以进入")
#None用于声明无初始化内容的变量
name=None
函数说明文档
辅助理解函数的作用
def add(x,y):
"""
add函数可以接收2个参数,进行两数相加的功能
:param x: x表示其中的一个数字
:param y: y表示另一个数字
:return: 返回两数相加的结果
"""
result=x+y
print(f"2数相加的和为:{result}")
return result
函数的嵌套调用
即一个函数里面又调用了另外一个函数
def func_b():
print("---2---")
def func_a():
print("---1---")
func_b()
print("---3---")
func_a()
变量在函数中的作用域
局部变量
全局变量
num=200
def test_a():
print(f"test_a:{num}")
def test_b():
print(f"test_b:{num}")
test_a()
test_b()
print(num)
global关键字
能够让局部变量,定义为全局变量
函数的综合案例
#定义全局变量money name
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
若有侵权,请联系作者