函数到底是什么
写程序写久了,你会发现同一段逻辑老是重复出现。函数就是把这段逻辑打包起来、起个名字,以后喊名字就能用,不用再抄一遍。
用「自动售货机」理解最直观:你投钱(输入,术语叫参数)→ 机器跑固定流程 → 吐出饮料(输出,术语叫返回值)。你只管投料和接货,不用关心盒子内部怎么算的。
定义(def)和调用是两回事
def 是「define / 定义」,意思是「我要造一台机器」:
def add(a, b):
return a + b但光定义不会自己运行。机器造好摆那儿,得「投币」才出货。写名字加括号、把料传进去,才叫调用,函数才真正跑一次:
answer = add(3, 5) # 把 3 给 a、5 给 b,得到 8
print(answer) # 8只写 add 不加括号,只是「提到」它,不会运行。
参数是输入,return 是输出
括号里的 a, b 是参数,是函数的输入口;调用时传的值会按顺序对号入座(3 进 a、5 进 b)。
return 是出货口,干两件事:① 把结果交出去;② 函数当场结束,return 后面的代码不再执行。没写 return 的函数,默认返回一个「空」叫 None。
为什么要用函数
假设一个公式要在 10 个地方用。不用函数,你得把公式抄 10 遍;哪天公式要改,得改 10 个地方,漏一个就出 bug。
def area(w, h):
return w * h
area(3, 4) # 12
area(5, 2) # 10函数把公式打包在一处,所有地方都来调它。要改公式,只动这一处,处处自动生效。这就是函数的三大价值:不重复、好维护、可复用。