师从黑马程序员
函数初体验
str1="asdf"
str2="qewrew"
str3="rtyuio"
def my_len(data):count=0for i in data:count+=1print(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+yprint(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+breturn resultr=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+yprint(f"2数相加的和为:{result}")return result
函数的嵌套调用
即一个函数里面又调用了另外一个函数
def func_b():print("---2---")
def func_a():print("---1---")func_b()print("---3---")func_a()
变量在函数中的作用域
局部变量
全局变量
num=200def 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 moneymoney+=numprint("--------------存款------------------")print(f"{name},您好,您存款{num}元成功")query(False)
#定义取款函数
def get_money(num):global moneymoney -= numprint("--------------存款------------------")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)continueelif KeyBoard_input=='2':num=int(input("请输入您想要存多少钱"))saving(num)continueelif KeyBoard_input=='3':num=int(input("您想要取多少钱?"))get_money(num)continueelse:print("程序退出")break
若有侵权,请联系作者