第十课:函数——给代码起个名字
入门 python教学 · 2026-10-06 · 阅读 1

写到现在,你一定发现:有些代码翻来覆去地写(比如算 BMI 的公式)。函数(function)就是"给一段代码起个名字",起完名随叫随到,再也不用复制粘贴。
一、函数:给代码起个名字

def say_hello(): # def = define,"定义"一个叫 say_hello 的函数
print("你好!")
print("欢迎来到Python世界")
say_hello() # 调用:名字后面加括号
say_hello() # 想用几次就用几次
def 函数名():是"起名"环节,里面的代码不会立刻执行;say_hello()是"使用"环节,叫调用,这时代码才真正跑起来。
二、参数:函数的"输入口"
函数可以接收外面传进来的数据,叫参数:
def say_hello(name): # name 是参数:一个"空位"
print(f"你好,{name}!")
say_hello("小明") # 调用时传进具体的值
say_hello("小红")
def add(a, b): # 多个参数用逗号隔开
print(a + b)
add(3, 5) # 输出 8
三、return:函数的"输出口"
函数算完的结果,怎么交回来?用 return:
def bmi(weight, height):
return weight / (height ** 2) # 把结果"交"回来
result = bmi(60, 1.75) # 用变量接住交回来的结果
print(f"BMI={result:.1f}")
💡return别搞混:return是"把值交回来",交回来的值还能继续参与计算。需要结果的函数用return。
def is_pass(score):
return score >= 60 # 直接返回比较的结果:True/False
if is_pass(85):
print("及格了")
四、作用域:变量的"活动范围"

x = 10 # 全局变量:在函数外面定义,哪儿都能用
def test():
y = 5 # 局部变量:在函数里面定义,只能在函数里用
print(x) # 函数里可以用全局变量
print(y)
test()
print(x) # 10:外面能用 x
# print(y) # 报错!外面看不到函数里的 y
| 全局变量 | 局部变量 | |
|---|---|---|
| 定义位置 | 函数外面 | 函数里面 |
| 能用范围 | 到处都能用 | 只在函数内部 |
| 比喻 | 学校大喇叭,全校听见 | 教室里说话,出门就听不见 |
五、动手练一练
练习 1:写一个函数 circle_area(r),接收半径返回圆面积(π 取 3.14),然后调用它算半径为 5 的圆面积。
练习 2:写一个函数 grade(score),用第六课的规则返回"优秀/良好/及格/不及格",然后用循环给 [95, 82, 76, 58] 逐个评级。
点击查看参考答案
# 练习1
def circle_area(r):
return 3.14 * r ** 2
print(circle_area(5)) # 78.5
# 练习2
def grade(score):
if score >= 90:
return "优秀"
elif score >= 80:
return "良好"
elif score >= 60:
return "及格"
else:
return "不及格"
for s in [95, 82, 76, 58]:
print(f"{s}分:{grade(s)}")
🎉 这一课你学会了:def 定义函数、参数、return、作用域。下一课是综合实战——把前十课的本事组装成一个真正能用的小程序!
More
学·教在线
小ta