为什么要学函数:代码的"乐高积木"

写代码写到后面,最烦的事情是"同样的逻辑写好几遍":计算平均分要写一遍,算 BMI 又要写一遍。函数就是把这些重复逻辑打包成一块"积木",叫一次用一次,改一处处处生效。

函数也是团队合作的基石:把大任务拆成小函数,每个人写一个,最后拼起来。学函数,是从"写脚本"走向"写程序"的分水岭。

不会函数的人写代码是"复制粘贴",会函数的人是"搭积木"。
本文核心知识点
  • def定义函数。
  • 参数输入数据。
  • return输出结果。
  • import引入模块。
Python 函数与模块配图:蓝色渐变背景中央一组黄青橙粉蓝绿彩色方块拼接成的立体魔方状组合体,每个方块表面印有三角形、钻石、柱状图、信封等几何图标,魔方左侧有一把金属钥匙,右侧是一个打开的蓝白宝箱,宝箱内散发金色光芒并飘出黄色星星
函数就是代码世界里可以反复解锁的小盒子。

def:定义你的第一个函数

def 是 define(定义)的缩写。函数名 + 冒号 + 缩进的函数体,就是这个函数的所有内容。

def say_hello():
    print("你好,世界!")

say_hello()
say_hello()

定义函数不会立刻执行里面的代码,只有"调用"(写函数名加括号)才会执行。调用两次就打印两次,不用重复写代码。

参数:给函数喂数据

函数想处理不同的数据,就要有"参数"——写在括号里,调用时按顺序传值。

def greet(name):
    print("你好," + name + "!")

greet("小明")
greet("小红")

参数让一个函数变成"模板",喂什么数据就输出什么结果。多个参数用逗号隔开,顺序要记牢。

返回值:函数吐结果

有的函数只是"做事情"(打印),有的函数需要"交出结果"给别人用,这时候用 return 返回。

def add(a, b):
    return a + b

total = add(3, 5)
print(total)   # 8

return 会立刻结束函数,后面的代码不再执行。函数一旦 return,调用处就拿到了结果,可以存进变量继续用。

作用域:函数里外的变量

函数里面创建的变量叫"局部变量",只在函数内有效;函数外面的是"全局变量",全局可见。名字可以一样,但它们是两个不同的盒子。

score = 100          # 全局变量

def show():
    score = 0        # 局部变量,不影响外面的
    print(score)     # 0

show()
print(score)         # 100

新手最容易在这踩坑:想在函数里改全局变量,要加 global 关键字,但更推荐的做法是把值传进传出,少用全局变量。