函数
如何使用
len()
统计字符串长度
name = "Miku" info = len(name) print(info) #输出结果:4
是 Python 的内置函数,是提前写好的,可重复使用的,实现统计字符串长度的代码段
定义函数
不使用 len()
来统计字符串长度
name = "Miku" info = 0 for x in name: info += 1 print(f"字符串{name}的长度为{info}") #输出结果:字符串Miku的长度为4
如果有多个字符串需要统计,在不使用 len()
的情况下会导致代码复杂
可以定义一个函数来解决这种情况
def getinfo(data): count = 0 for x in data: count += 1 print(f"字符串{data}的长度为{count}") name = "Miku" getinfo(name) #输出结果:字符串Miku的长度为4
为什么要用
为了得到一个针对特定需求、可供重复利用的代码段,提高程序的复用性,减少重复性代码,提高开发效率
函数的定义
def 函数名(传入参数1, 传入参数2, ...): """ 函数说明 :param 传入参数1: 形参传入参数1的说明 :param 传入参数2: :return: 返回值的说明 """ 函数体 return 返回值
我们可以给函数添加说明文档,辅助理解函数的作用。
如何调用
函数名(参数)
函数返回值
return None
None 是类型 'NoneType' 的字面量,代表空的,无意义的
在一般 if 判断中,None 等同于 False,一般用于在函数中主动返回 None,配合 if 判断做相关处理
定义变量,但暂时不需要变量有具体值,可以用 None 代替
函数的嵌套
def func_a(): print("maimai DX") def func_b(): func_a() print("CHUNITHM") func_b()
函数的变量
def func(): info = "maimai DX" print(info) print(info) #输出结果:NameError: name 'info' is not defined
变量 info 是定义在 func 函数内部的变量,在函数外部访问则立即报错
如果需要使用外部变量,请在定义函数前声明全局变量
在函数内修改全局变量不会在外部生效,如果有此类需求,请先将变量定义为全局变量
global info
注意事项
函数必须先定义后使用
参数如果不需要,可以省略
传入参数数量不限,需要使用逗号分隔
返回值如果不需要,可以省略
学习综合运用
money = 50000 name = None name = input("请输入您的名字:") def query(show_header): if show_header: print("==============余额==============") print(f"{name},您好,您目前的余额为{money}元") def saving(num): global money money += num # 直接加上存款金额num print("==============存款==============") print(f"金额{num}元存款成功") query(False) def getting(num): global money if num > money: print("余额不足,取款失败") else: money -= num print("==============取款==============") print(f"金额{num}元取款成功") query(False) def main(): print("==============菜单==============") print(f"{name},你好,欢迎使用银行菜单") print("查询\t[输入1]") print("存款\t[输入2]") print("取款\t[输入3]") print("退出\t[输入4]") return input("请输入需要使用的功能:") while True: Keyboard_Input = main() if Keyboard_Input == "1": query(True) elif Keyboard_Input == "2": num = int(input("请输入您的存款金额:")) saving(num) elif Keyboard_Input == "3": num = int(input("请输入您的取款金额:")) getting(num) elif Keyboard_Input == "4": break